2016-11-24 82 views
1

當我試圖git pull它不會讓我說,本地更改將被合併覆蓋。問題在於它指定的文件將被覆蓋掉。我以前曾經使用過,但是我刪除了它,我無法從編輯器樹視圖或文件系統中看到它。那是什麼類型的錯誤?我如何擺脫它並拉動?Git說刪除的文件將被合併覆蓋

+0

請結算的具體文件,例如給覆蓋錯誤 - 「git checkout - app/webroot/css/alert.css」 –

回答

3

確保您已完成所有更改。否則,隱藏所有更改。

$ git add . 
$ git stash 
$ git pull origin <branch-name> 
+0

我絕對擁有所有提交的更改 –

+0

命令「git status」的結果是什麼? –

+0

@TristanTzara不僅僅是在添加/修改時改變了你的行爲,而且在刪除時也發生了變化。在這種情況下,覆蓋意味着您刪除的文件將回到另一個分支,所以您應該隱藏/提交以保留對工作目錄的更改。 – cst1992

0

這不是一個錯誤。這是一個變化,如果你拉(這是因爲你拉的分支將有不同的提交),這將變得無效。 Git希望你保留這個改變。

使用git stash存儲變更或在其他/新分支中提交。

0

據我所知,這不是一個錯誤。我相信這種情況是因爲您刪除了合併期間傳入的分支中仍存在的某個文件。

通過git pull合併將不會像您向我們展示的那樣工作,但似乎通過rebase拉動應該起作用。試試這個:

git pull --rebase origin yourBranch 

當你在新的基礎上應用你的每個提交時,你很有可能會遇到合併衝突。這些衝突可能包括有問題的文件出現在那裏但應該被刪除的情況。在這種情況下,如果你想讓它消失,解析可能實際上是刪除文件。

下面是其中提到的幾個可能的解決方案的參考:

Git pull error: Your local changes to the following files would be overwritten by merge: