前の関連記事:Git(27)EclipseでローカルリポジトリをGitHubのリモートリポジトリにするまで
変更をコミットする前にプルするとCheckout conflictがでる
Checkout conflictは変更をコミットする前にプル、つまりリモートブランチをマージしようとするとでてくる警告です。
これらのファイルはPythonスクリプトから出力して更新したものなので、コミットする必要がありません。
ここでコミットしてからプルするとなると、それぞれのファイルのコンフリクトを治さないといけないのでもうこれらの変更は破棄することにします。
Git Repositoriesビューでローカルリポジトリを右クリック→Stashes→Stash Changes。
Stashに適当な名前をつけてOKします。
これでコミットされていないものはなくなりますのでプルできるようになりました。
StashはGit RepositoriesビューのStashed Commitsで確認できます。
不要であれば削除するstashを右クリック→Delete Stashed Commitで削除できます。
PullしたあとにApply Stashed ChangesしてもCheckout conflictがでてきます。
コンフリクトマークを消さないとFeatureブランチをFinishできない
StashをApply Stashed ChangesをしたらPyDev Package Explorerにコンフリクトを示す赤いマークがつきました。
気にかけずにそのまま編集してその編集をコミットはできましたが、Finish Featureしようとするとコンフリクトがあるのでチェックアウトできないと言われます。
原因は先ほどの赤いマークかと思うのでこれを消してみます。
Git RepositoriesでFinishできないFeatureブランチを右クリック→Synchronize with Workspace。
Team Synchronizingパースペクティブに関連付けるか聞いてきますのでYesをクリック。
Synchronizeビューでは赤いマークがついたファイルだけが表示されています。
表示されているファイルを右クリック→Mark as Merged。
すべてのファイルについて同様にして赤いマークをすべて消します。
これでコミットをするとFinish Featureできるようになりました。
しかし結局マスターブランチともコンフリクトしてなかなか修正困難です。
結局修正できずリポジトリを作り直しました、、、
参考にしたサイト
Checkout Conflicts 時の対応 | hacknote
Checkout Conflictsは編集部分をコミットせずに他のブランチに切り替えるときにもでてくるようです。
EclipseでGitを使う(5)競合を解消する。 | TECH Projin
コンフリクトマークの消し方。
解決したと思い真似したのに...結果ためでした;;;
返信削除最悪なブログです。失敗したとも書いてないから上から真似してしまうので...
差分の大きなブランチとのマージでも手間暇かければ解決するとは思いますけどそこまで手前をかける価値があるかですよね。
削除