2012-11-21 61 views
3

通過合併主分支和我的功能分支,我遇到了問題。所以我試着理解git如何處理合並,以及如何用主分支的更改更新功能分支的最佳方式。我找到2個解決方案。通過直接從主分支直接拖動master分支來保持git功能分支的最新狀態

數1:

git checkout feature_branch 
git merge master 

數2:

git checkout feature_branch 
git pull origin master // Read: pull the changes from origin/master into my current local branch 'feature_branch' 

我讀到第二個解決方案只有一次,而第一次來到經常到我的眼睛。由於git merge總是以提交完成,所以我更喜歡第二個,但不知道它是否真的按照它應該的方式工作。

我將不勝感激任何澄清。

回答

3

拉只是一個合併提取;在這兩個示例中,您正在進行合併,只是第二個涉及第二個存儲庫。我沒有看到太多的選擇。

如果您的功能分支對您來說是私有的,您可以考慮在主控的新提示上重新定義它,而不是合併主控以合併主控的更改。通過這種方式,您可以讓您的功能分支跟蹤主控,同時在您的歷史記錄中沒有合併。

4

在第一個例子中,你要去一個功能分支,並拉動本地主分支的最新版本。取決於最近與遠程的交互是簡單提取還是拉取(提取和合並),該版本的主版本可能會或可能不會跟蹤分支(原始/主版本)。

在第二個例子中,基本上發生的事情是,首先從遠程獲取主分支並將其放置在「跟蹤」分支(原點/主)中。然後將該版本合併到您當前的(開發)分支中。

有關git進程的更多信息,請參見git branch, fork, fetch, merge, rebase and clone, what are the differences?

相關問題