2011-11-07 31 views
3

我知道一旦拉就會有衝突,但我已經知道版本庫版本更好。如何解決了Git的命令在命令行上的所有衝突Git,必須拉,知道會有衝突,但是本地版本無關

$> git resolve conflict with theirs什麼

+1

取出後,您可以使用合併「他們」的策略之一:HTTP://計算器.com/questions/4911794/git-command-for-making-one-branch-like-another/4912267#4912267 – VonC

回答

5

如果你不想保留你的改變,那麼拉是錯誤的行爲。如果版本庫明確更好,您可以只讀取和重置。

E.g.

git fetch 

# Assuming my branch was based on origin/master, 
# throw my changes away. 
git reset --hard origin/master 

顯然要小心這一點,因爲您可能會失去未提交的更改。您可能需要做一個簡單的git reset origin/master,並仔細地手動刪除您的本地更改。

+0

感謝您解釋提取,這可能是我的正確途徑! – CQM

0

嘗試做

git clean 
git pull 

如果沒有幫助,然後嘗試

git reset --hard HEAD 
git pull 
3

你還能合併與遠程頭部沒有完全消除您的更改,但始終解決在偏遠的青睞衝突:

git pull -s recursive -Xtheirs <remote-ref> 

但是當心 - 你的變化將是部分保存,部分覆蓋。如果您希望它們在樹的一部分中被覆蓋並保留在另一部分中,這可能是確定的,但要對結果代碼非常小心,務必查看它並將其與遠程版本進行比較。

3

通過指定你應該能夠做到這一點的合併策略:

git fetch 
git merge -s recursive -Xtheirs remotes/origin/branch_name 

git pull -s recursive -Xtheirs origin master