2012-12-11 128 views
2

我正要得到最新的git pull origin master,並意識到我在一些配置文件中有衝突。但我也有其他文件簽入,我不想鬆動。Git:如何在拉/失敗自動合併後恢復文件?

由於這些衝突是本地配置文件,我只是刪除它們,希望通過執行新的請求來重新獲取它們。

現在試圖做的另一個git pull origin master和它說

「拔是不可能的,因爲你有未合併的文件。請,修復起來在工作樹,然後使用‘git的添加/ RM’作爲適合於標記解析,或者使用'git commit -a'。「

那麼我怎樣才能從存儲庫中恢復這些刪除的配置文件與最新狀態? (我不關心我的本地修改這些文件,所以我刪除了它)

現在我能爲每個配置文件做:

git checkout -- path/to/individual_file

感謝,

回答

0

你可以這樣做$ git reset --hard HEAD返回HEAD狀態。

然後再做git pull,修復衝突,然後提交您的修復。

+0

謝謝。如果我做'git reset --hard HEAD'我不會失去其他本地更改? – Houman

+0

這將刪除所有未提交的更改,是的。 – poke

+0

Nooooooo,我清楚地說我有文件要提交 – Houman

2

如果你有一些文件,提交您可以用git stash藏匿他們,然後重新回到HEADgit reset --hard HEAD,拉變化與git pull解決所有衝突,然後用git stash apply

適用於新的HEAD您的藏匿

如果您希望將本地更改存儲到重置並拉動主服務器並從臨時分支中恢復本地更改,則還可以創建臨時服務器branch