2015-10-06 77 views
0

当我试图从产地拉开发即时得到这个错误:Git pull由于“局部变化”而失败,即使没有?

error: Your local changes to the following files would be overwritten by merge: 
    filepath/file 
Please, commit your changes or stash them before you can merge. 
Aborting 

但是文件路径/文件是git的忽略文件,所以当我输入git status我没有看到,我可以恢复任何更改。

回答

1

由于我不介意丢失对该文件的更改,因此我删除了该文件,然后执行git reset HEAD filepath/file,然后执行git checkout filepath/file。这工作。

-3

我用git做什么时,会发生类似的情况是打开控制台并开始编写所有可以键入的命令,git commit,git add -a,git push,然后重新启动以防万一,以防万一,之后

0

工作听起来像是你需要运行一个

git rm --cached filepath/file 

这将使git的“忘记”有关文件,添加一个已经跟踪文件.gitignore直到你运行该命令将无法将其删除也。

(请注意,这将不实际工作rm文件)

+0

fatal:pathspec'文件路径/文件'与任何文件都不匹配 – Evans

+0

您是否用您的实际文件替换了'filepath/file'? (不打算是侮辱,只是双重检查) – CollinD

+0

是的,我做了,没有冒犯。 – Evans

0

由于文件是在你的.gitignore,你不会看到任何变化,基本上变成未跟踪文件。 Git将防止覆盖更改作为防御措施。 (由于所做的更改不可恢复)。

我会暂时将其从.gitignore文件中删除以查看更改。藏起或删除修改,然后做一个git pull。然后改变.gitignore再次忽略文件。