我通过将主分支与我的功能分支合并而遇到了问题。所以我试着理解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
总是以提交完成,我更喜欢第二个但是想知道它是否真的按照应有的方式工作。
我将不胜感激任何澄清。
答案 0 :(得分:4)
在第一个实例中,您将转到功能分支并引入最新版本的本地主分支。此版本的主服务器可能与跟踪分支(origin / master)保持最新状态,具体取决于与远程服务器的最新交互是否为普通提取与拉取(提取)和合并)。
在第二个实例中,基本上发生的是首先从遥控器获取主分支并将其放置在“跟踪”分支(原点/主控)中。然后该版本将合并到您当前的(开发)分支中。
有关git进程的更多信息,请参阅git branch, fork, fetch, merge, rebase and clone, what are the differences?
答案 1 :(得分:3)
拉动只是一个合并的提取;在两个示例中,您正在进行合并,它只是第二个涉及第二个存储库。我觉得他们之间没有多大选择。
如果您的功能分支对您来说是私有的,您可以考虑在主提示符上重新定义它,而不是合并主数据以合并主数据库中的更改。这样,您可以在您的历史记录中没有合并时使用功能分支跟踪主数据。