错误:未跟踪的工作树文件

时间:2012-02-14 09:33:03

标签: git github git-svn

当我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上,该文件是版本控制的退出

如何解决此问题?基本上,我希望远程分支也从版本控制中删除文件。

4 个答案:

答案 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