我有一个本地分支,我在其中进行了一些更改。然后,我想提取其他开发人员添加到父分支的更改。在执行merge
之前,我是否需要在本地拉下父分支?
我以为我一直在通过转到我的开发分支然后发出merge
命令并选择远程分支来降低其他开发人员所做的更改。但是,我认为在我向父分支发出pull
之前,它实际上并没有拉下父分支更改。
从技术上讲,您应该考虑三个不同的分支:
- 您提交更改的本地分支(例如主节点)
- 远程服务器上的分支,其他人将其更改推送到该分支 本地仓库中用于跟踪远程仓库的
- 远程分支(例如源/主仓库)
在其他人将其工作推送到远程仓库后,您需要git fetch
更新远程分支才能看到这些更改。
之后,您可以使用这些更改将例如原点/主节点合并到主节点中。最后,您可以将结果推送回服务器。
您可以在两个命令中进行获取和合并,也可以使用git pull
这与首先获取然后合并几乎完全相同。(还要注意--rebase
选项,它是获取和变基的组合,通常会提供更清晰的历史记录。
您需要运行git fetch
才能获取远程中可用的更改。然后,您可以使用git merge
执行合并。 git pull
是连续执行这两个命令的快捷方式。