2013-06-25 80 views
2

我有一堆遠程(跟蹤)分支,我創建了本地分支(所以我可以寫,提交和推送)例如。 產地/ myfeature。現在我想合併原產地/ myfeatureGit從源頭合併分支

我能做到(假設我目前掌握):

git merge origin/myfeature 

但這個保證執行合併前拉最新變化(或者是相同的是什麼中央「真相」)?

據我所知locale遠程跟蹤分支不一定指向分支上的最新遠程更改。

回答

1

你做了一個fetch,它獲得了原點的快照。然後merge那個快照。當然,它可以獲得更多的東西。

如果您對該種族感興趣,則可以在推送更改以查看其是否移動之前執行另一次獲取。但是仍然有人可以在推送前或推送期間添加其他提交。

但是在太過興奮之前,假設你贏了比賽。但有人在剛剛合併後添加了一個補丁。這有什麼不同嗎?

在DVCS中,添加發生是正常的,如果他們這樣做,您會進行另一次合併以獲取新的東西。比賽並不那麼有趣。

+0

合併命令的獲取部分?如果沒有,我可能會像當初看到的那樣從本地分支合併。 – u123

+0

'fetch'將成爲'pull'命令的一部分。所以只要你的本地是最新的,你可以與任何一個合併,它不會有所作爲。 – Schleis

+0

不,''取''是分開的,'拉'是組合。但它仍然具有相同的理論競爭條件,只是以較短的窗口開始 - 當然,當你解決衝突並完成所有檢查時,它將是不相關的 –