2010-12-16 90 views
7

我不是google的專家。不用說,我甚至不知道這意味着什麼或如何解決它?git由於未跟蹤的工作樹文件而失敗

>> git merge admin_playground 
error: Untracked working tree file 'vendor/gems/panda-1.0.0/.gitignore' would be overwritten by merge. 
fatal: merging of trees 538b2824765956cc44c42a8ad628e4f4 and d5d4cda68518cd1c81bf70ba8c339fea6 failed 

我想執行一個git合併並得到這個失敗的語句。

回答

8

這是因爲.gitignore不在您當前的分支中(它未被跟蹤),但它在您嘗試合併的分支中。添加有問題的.gitignore文件並提交,然後再次嘗試合併;或者如果你不需要它並刪除.gitignore文件並且對另一個分支中的文件感到滿意。

3

注意:mipadi(作者accepted answer)也在不同分支上的文件名之間在case conflicts的上下文中提到了此錯誤消息。

如果清理未跟蹤文件是一個有效的選項,那麼極端的解決方案在this answer上文第(一git clean -f -d將刪除所有未跟蹤文件和目錄)。
在你的情況下,這可能是矯枉過正(或危險)。

另一個original solution

git checkout -f admin_playground # will overwrite files 
git checkout yourBranch # get back where you where when trying the merge 
git merge admin_playground 

這迫使git的繼續和覆蓋這些文件。
我假設你也可以使用merge這個'-f'選項,但是切換到另一個分支然後返回修復了這個問題,我可以在下一次沒有任何問題的情況下合併。

注意:實際上git merge上沒有'-f'選項。

1

試試下面運行命令:

git add * 

git stash 

git pull 
相關問題