通过直接从主服务器提取,使git功能分支与主分支保持同步

时间:2012-11-21 22:55:01

标签: git

我通过将主分支与我的功能分支合并而遇到了问题。所以我试着理解git如何处理合并,以及用master分支更改更新功能分支的最佳方法是什么。我找到了2个解决方案。

第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总是以提交完成,我更喜欢第二个但是想知道它是否真的按照应有的方式工作。

我将不胜感激任何澄清。

2 个答案:

答案 0 :(得分:4)

在第一个实例中,您将转到功能分支并引入最新版本的本地主分支。此版本的主服务器可能与跟踪分支(origin / master)保持最新状态,具体取决于与远程服务器的最新交互是否为普通提取与拉取(提取)和合并)。

在第二个实例中,基本上发生的是首先从遥控器获取主分支并将其放置在“跟踪”分支(原点/主控)中。然后该版本将合并到您当前的(开发)分支中。

有关git进程的更多信息,请参阅git branch, fork, fetch, merge, rebase and clone, what are the differences?

答案 1 :(得分:3)

拉动只是一个合并的提取;在两个示例中,您正在进行合并,它只是第二个涉及第二个存储库。我觉得他们之间没有多大选择。

如果您的功能分支对您来说是私有的,您可以考虑在主提示符上重新定义它,而不是合并主数据以合并主数据库中的更改。这样,您可以在您的历史记录中没有合并时使用功能分支跟踪主数据。