2010-11-30 37 views
0

我有一個文件在兩個不同的存儲庫中修改,並在拉動後合併到本地存儲庫中。我知道其中一個存儲庫是我想要的實際版本,並且不希望合併版本的文件。在合併已經應用到本地版本之後,我怎麼能告訴git使用一個版本或另一個版本?選擇一個起源作爲與git合併的規範

回答

2

遠程只是git從某處獲取提交的一種方式。這是影響您看到的內容版本的提交;它們來自哪裏並不重要。

將文件的版本選爲「規範」只是意味着確保這是規範存儲庫中文件的版本。那其結果是,你可能想這樣做,在你的本地庫:

# make sure that origin is the canonical remote 
# rename the other one to something else! 

# make sure you're up to date 
git fetch origin 
# check out the desired version of the file 
git checkout origin/master path/to/file 
# and commit this modification 
git commit 

這也可以做到從產地拉的一部分:

# pull from the default remote/branch, hopefully origin/master 
git pull --no-commit 
# get "their" (origin's) version 
git checkout --theirs path/to/file 
# commit the merge 
git commit 

--no-commit選項告訴混帳停止在提交作爲拉的一部分的合併之前,以便您能夠修改合併的結果然後提交它。如果存在衝突(在您的情況下可能會發生衝突),那麼它會停下來讓您解決它們。