将分支合并到本地分支的正确方法

时间:2017-10-18 18:07:34

标签: git github

设置

我有master的两个本地分支,名为foobar

首先,我创建了foo分支,进行了一些更改/提交,然后推送到origin(GitHub repo)上的同名分支。然后我在GitHub上创建了一个pull请求,要求将这些更改合并到master,并且它当前正在等待代码审查。

之后,我创建了bar分支,进行了一些更改/提交,然后遇到了需要进行更多更改的情况,这些更改取决于foo分支中添加的内容。

问题

我应该将remotes/origin/foo合并到本地bar吗?或者我应该将本地foo合并到本地bar(或者在没有进行其他提交时完成同样的事情)?还是完全有另一种方式?

基本上,当我推bar并提交PR时,我只是试图不搞乱历史或造成不必要的冲突。  我基本上是一个完整的git新手,并且一直使用this online book作为我的学习资源,虽然我似乎无法在那里找到答案,并且没有太多运气谷歌搜索。

2 个答案:

答案 0 :(得分:1)

在您完成foo分支的编辑后,您可以在foo上重新设置您的酒吧分支

git checkout bar git rebase foo

这将使得条形图具有foo所具有的所有变化。

请注意,如果您提交了拉取请求栏,那么在您成功合并到foo之前,栏会包含foo上的所有提交,因此它会"看起来" 34;在提交数量方面更大。

请务必先在foo合并。完成后,大多数git平台会检测到您正在合并到的分支(在本例中为master)中存在的另一个分支中的提交,并自动更新。

答案 1 :(得分:0)

听起来你需要做的就是bar之上的rebase foo

要求来自foo的内容意味着foo需要在bar之前合并,尽管来自bar的差异将包含foo的更改,直到foo已合并。