The following untracked working tree files would be overwritten by merge:の解決メモ

gitでpullやfetchしたリモートブランチをmergeする場合にこのエラーが発生する場合がある

The following untracked working tree files would be overwritten by merge:
追跡されていないファイルは、マージにより上書きされる

.gitignoreで指定されているファイルがリモートブランチに存在する場合にでるらしい。
このエラーとなると、ファイルの取得ができずに困る。

[追記2014/6/15]
根本解決ではないため、.gitignoreに追加されているファイルをリモートから削除するほうが良い気がする

解決方法

リモートブランチの状態をfetchで取得し、リセット(reset)コマンドを実行すると強制的に取得できる

•まずはfetch実行

git fetch origin

※originがリモートブランチの場合

•fetchしたブランチにリセット(–hardで作業ディレクトリ、ステージングディレクトリ)

git reset --hard FETCH_HEAD

”FETCH_HEAD” で最後にfetchしたブランチの先頭の意(git fetch. で入手したコミットの先頭)

この状態でpullまたはmergeしたかった状態に作業ディレクトリ、ステージングディレクトリともになっている

その他おすすめの備忘録

Tagged with:
 

3 Responses to [Git]エラー:The following untracked working tree files would be overwritten by merge:

  1. yunokixxx より:

    “git reset –hard FETCH_HEAD”

  2. kathew より:

    使って良いケースと悪いケースの判断ができる時は、この方法は有用…_〆(・ω・ )

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>