由于未跟踪的工作树文件,git失败

时间:2010-12-16 15:15:59

标签: git merge branch repository github

我不是Google的专家。不用说,我甚至不确定这意味着什么或如何解决它?

>> 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 merge并获取此失败语句。

3 个答案:

答案 0 :(得分:8)

这是因为.gitignore不在您当前的分支中(它未被跟踪),但它位于您尝试合并的分支中。添加有问题的.gitignore文件并提交,然后再次尝试合并;如果您不需要,请删除.gitignore文件,并对另一个分支中的文件感到满意。

答案 1 :(得分:4)

注意:mipadiaccepted answer的作者)也在不同分支上的文件名之间的case conflicts上下文中提到了此错误消息。

如果清除未跟踪文件是一个有效选项,那么this answer中会提到极端解决方案(git clean -f -d将删除所有未跟踪文件和目录< / em>的)。
在你的情况下,这可能是过度杀伤(或危险)。

另一个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继续并覆盖文件   我假设您也可以使用-f选项和merge,但切换到另一个分支,然后返回修复问题,我可以在下次没有任何麻烦的情况下合并。

注意:-f上实际上没有“git merge”选项。

答案 2 :(得分:2)

尝试在命令下运行:

git add *

git stash

git pull