2014-09-19 69 views
1

我嘗試從產地拉來更新本地的Git倉庫中,並得到了大家熟悉的消息:的Git不能拉從由來是因爲刪除的文件

error: Your local changes to the following files would be overwritten by merge: 
    <list of files> 
Please, commit your changes or stash them before you can merge. 
Aborting 

好了,沒什麼大不了的。我隱藏了我的變化,並再次拉...並得到完全相同的信息。好的,這有點奇怪。

所以我試着添加並提交文件...並且它仍然不會拉,出於同樣的原因。

出於沮喪,我刪除了違規文件。而現在我仍然得到相同的錯誤,但該文件不再存在。

我不完全確定如何讓它停止跟蹤不存在的文件...我不知道爲什麼我不能從源文件中提取。

git的狀態顯示:

# On branch master 
# Your branch is behind 'origin/master' by 249 commits, and can be fast-forwarded. 
# 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: <list of files> 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

有什麼建議?

+0

的輸出「git status」是什麼樣的? – folkol 2014-09-19 19:52:22

+0

git status顯示未提交的已修改文件的列表 - 它們是導致該問題的子集。往上看。 – 2014-09-19 20:00:15

回答

-1

假設你是在一個狀態,你有你關心做

git reset --hard HEAD 

而且從庫的根未提交的更改然後做

git clean -dfx 

然後再試一次,如果不起作用發佈部分錯誤和git status

+0

不幸的是,這不能讓我拉 - 我仍然有一個修改/未提交的文件列表,我回到原點。 – 2014-09-19 19:59:34

+0

你確定你沒有忘記「--hard」嗎?這應該刪除所有修改。 – folkol 2014-09-19 20:33:35

+0

我與OP有同樣的問題,並且不會刪除文件。 'git status'仍然將其列爲「已修改」 – KennyPeanuts 2015-01-13 15:42:01