git pull した時に以下のようなエラーで conflict が発生した場合の対処をまとめる
error: Your local changes to the following files would be overwritten by merge:
Directory/File
Please, commit your changes or stash them before you can merge.
1. stash でワーキングツリーの内容を退避
コンフリクトを起こしているワーキングツリーの内容を git stash
で退避する。
|
|
stash で退避した内容を確認する。
|
|
この状態で pull すると成功する。
|
|
退避した内容を git stash pop
で戻す。
|
|
pull で取り込んだ内容とコンフリクトしている箇所は, git status
で確認できる。
|
|
コンフリクトした箇所にはこんな感じで変更前と変更後が表示されるので修正する。
<<<<<<< Updated upstream
xxxxx
=======
xxxxx
>>>>>>> Stashed changes
修正したら git add
, git commit
, git push
する。
2. 強制マージ (リモートリポジトリの状態にする)
- リモートリポジトリの最新をリモート追跡ブランチ (origin/main) に取り込む。
|
|
- ワーキングディレクトリをリモート追跡ブランチ (origin/main) に強制的に変更する
|
|