【git】「 Your local changes to the following files would be overwritten by merge」が出た場合の対処方法

2017年11月10日

gitでブランチを切り替えようとcheckoutすると、このようなエラーがでることがあります。

From https://*****/****.git
    * branch master -> FETCH_HEAD
    4b2f9bf..4218c20 master -> origin/master
Updating 4b2f9bf..4218c20
error: Your local changes to the following files would be overwritten by merge:
    .DS_Store
Please commit your changes or stash them before you merge.
Aborting

ブランチを切り替える前に変更をコミットしてね。

ということなのですが、コミットする他に解決方法が2種類あります。

1.変更作業を取り消してコミットしないで済むようにする

git checkout file_name //特定のファイル
git checkout . //すべて

今回は.DS_Storeしか更新がないので、こちらでいいと思います。

2.変更作業を一時退避させる

git stash //一時退避
git stash pop //一時退避を元にもどす
git stash list //一時退避の確認
git stash clear//一時退避の消去

一時退避させることで、ブランチの切り替えが可能です。

元に戻すこともできるので、安全に作業を進めたい場合は「git stash」を使うといいでしょう。

 

Git

Posted by 上級者さん