1. ホーム
  2. Git

[Gitラーニングノート】Gitのコンフリクト:マージする前に変更をコミットするかstashする。

2022-02-22 22:57:56

git pullコマンドを使用していると、時々このような問題に遭遇することがあります。

Please, commit your changes or stash them before you can merge.  
Aborting  

これは、リモートリポジトリの変更とローカルの変更の衝突が原因です。

git のプロンプトは非常に明快で、更新をコミットするかローカルの更新を先に隠しておくかのどちらかを指示しています。

最初の方法、stash。

では、ローカルのアップデートはどのように隠しているのでしょうか?直接実行する。

git stash
git pull
git stash pop

次に、このファイルを diff して、自動マージがどうなるかを確認し、それに応じて変更します。

git stash: 現在のワークスペースをバックアップし、最新のコミットから読み込んで、ワークスペースを最後のコミットと同じにします。また、ワークスペースの内容をgitスタックに保存します。

git stash pop: git スタックから直近に保存した内容を読み出し、ワークスペースの該当する内容を復元します。複数のスタッシュの内容が存在する可能性があるため、スタックで管理し、popは最新のスタッシュから内容を読み込んでワークスペースにリストアします。

gitスタッシュリスト。git スタック内のすべてのバックアップを表示し、どこからリストアするかを決定するために使用できます。

git stash clear: 状況gitスタック。

2つ目の方法:ローカルの変更を取りやめ、上書きするのみ

git reset --hard
git pull origin develop:develop