下林明正のブログ

個人的かつ雑多なブログです。

git pullをすると何故か古いコミットオブジェクトと衝突をする

gitを使って開発をしていて、

  • トピックブランチを統合ブランチにマージ
  • 衝突したので解消してコミット
  • git pushしようとしたら統合ブランチが更新されていた
  • git pullしようとしたら何故か古いコミットと衝突してしまいpullできない、pushできない、困った!

ということがあった。

結論から言うと、

.gitconfigで

[branch]
        autosetuprebase = always

こういう設定をしていて、git pull時にrebaseをしようとして、トピックブランチを切ったのが随分昔だったので色々と変更があって衝突をしていた、ということだった。

対策として、そもそもpullする必要がない状態にすればrebaseは発生しないということで、解消を退避させてpullをしなおしてマージをしなおして再度衝突を解消させた。

この設定のことを完全に忘れていて、相談していてこういうことだということが分かった。

なんとなく、でgitを使っているので今後もこういうことが発生する気がしている。