gitを触っている時に発生したエラーの解消方法になります。今回は完全に備忘録になります。
コンテンツ
経緯
そもそもは2人で開発をしていました。
片方が、pushし、私の方からローカルにadd して commitしてpushしようとしたところエラーが出ました。
error: Your local changes to the following files would be overwritten by merge: myapp/settings.py
Please commit your changes or stash them before you merge.
ムゥ。とりあえずエラーを気にしつつ git pull しようとしたところ、下記エラーが出てきました。
エラーメッセージ
ざっくり翻訳すると、あなたのローカルでの変更はsettings.pyというファイルが既に書き換えられているよ。変更を変えるか、stash(コミットは変えずに変更を退避)してください。
になります。つまり・・・コンフリクト(衝突)です!
解決方法
相手側も変更をしているし、こちら側の変更も取り消したくないです。そういう時は、エラーメッセージ通りにコメントをstash(退避)してあげます。
1 |
$ git stash save -u |
これでデータを変更したものが保存されるよになりました。
1 |
$ git stash list |
ちなみに上記コマンドで一時保存したファイルのリストを確認できます。
1 |
$ git pull origin master |
そしてようやくgit pullができます。
pull後に、stashで退避させておいた中で、最新のファイルを作業場所に戻します。
1 |
$ git stash pop |
このコマンドを実行するとつらつら出ますが、とどのつまり 最新のスタッシュを適用し、削除 という意味です。
これでクリーンな状態に戻りました。
コメントを残す