Gitに慣れていないときはgit pull
を実行したさいにエラーが出て困ることがあります。1度対処方法が分かれば大したことないのありませんので本記事ではgit pull
で起こるエラーと原因、解決方法をまとめておきます。
追跡されていないファイルでエラー
error: The following untracked working tree files would be overwritten by merge:
<ファイル名>
Please move or remove them before you merge.
git pull
したとき、remoteと同じファイル名で追跡されていないファイルがローカル環境にあってエラーになっています。対処法は一時退避するか、削除するかです。
一時退避する
git stash -a
でスタッシュ領域に退避できます。その状態であればgit pull
が成功します。退避したファイルはgit merge stash@{0}
でマージすることもできます。
削除する
該当のファイルが不要な場合、git clean -fd
で削除できます。
変更中のファイルでエラー
error: Your local changes to the following files would be overwritten by merge:
<ファイル名>
Please commit your changes or stash them before you merge.
git pull
したときにローカル環境のファイルが変更中のためエラーになっています。対処法は一時退避するか、変更を取り消すかです。
一時退避する
上記と同じくgit stash
でスタッシュ領域に退避できます。この場合「-a
」オプションはなくてもgit pull
が成功します。*1
変更を取り消す
git restore <ファイル名>
で変更を取り消します。その状態であればgit pull
が成功します。
まとめ
git pull
を実行したさいに一度は発生するエラーについてまとめました。Gitコマンドを使った対処法の紹介でしたが、エラーになったファイル名を変更して一時退避してもいいと思います。やりやすい方法で対応していきましょう。
git stash
、git clean
、git restore
、それぞれのコマンドについては別でも記事を書いています。
iucstscui.hatenablog.com
iucstscui.hatenablog.com
iucstscui.hatenablog.com
*1:-aを付けてても大丈夫です