当我git pull origin development
时,我收到了错误:
error: Untracked working tree file '<path-to-file>' would be overwritten by merge
原因是因为remote development branch
中的一个文件没有放在我的本地项目中的git中(我不想在版本控制中使用该文件,git rm
也是如此)。但是在remote development
上,该文件是版本控制的退出
如何解决此问题?基本上,我希望远程分支也从版本控制中删除文件。
答案 0 :(得分:4)
要解决您当前的问题,您应该备份本地文件,删除原始文件,从远程分支拉出,然后git rm(然后按下,以确保远程repo删除文件)。然后,您可以将备份文件放回本地,并在.gitignore文件中添加一行。
答案 1 :(得分:2)
这种情况正在发生,因为来自拉取请求的新文件将覆盖未跟踪的文件
我的建议是:
git add .
git stash
git pull
基本上将未跟踪的文件添加到您的git仓库并将其存放并拉入新版本。
答案 2 :(得分:0)
与@vpatil linked一样,我发现在与此有些相关的git issue上,@ mtkumar82建议执行以下操作:
git fetch --all
git reset --hard origin/{{your branch name}}
这对我来说非常理想,因为我有未跟踪的文件,这些文件对代码本身并不重要,因此它们也已被跟踪,因此我不在乎它们是什么版本。我希望这能对将来以该主题而不是另一个更大主题的人们有所帮助(事实上,谷歌甚至没有显示该主题,我已经找到了解决方案就发现了它)。 >
答案 3 :(得分:-1)
您可以使用gitignore选项 详情请参阅 -
http://help.github.com/ignore-files/
http://linux.die.net/man/5/gitignore