2015-10-06 75 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再次忽略文件。