我有master
的两个本地分支,名为foo
和bar
。
首先,我创建了foo
分支,进行了一些更改/提交,然后推送到origin
(GitHub repo)上的同名分支。然后我在GitHub上创建了一个pull请求,要求将这些更改合并到master
,并且它当前正在等待代码审查。
之后,我创建了bar
分支,进行了一些更改/提交,然后遇到了需要进行更多更改的情况,这些更改取决于foo
分支中添加的内容。
我应该将remotes/origin/foo
合并到本地bar
吗?或者我应该将本地foo
合并到本地bar
(或者在没有进行其他提交时完成同样的事情)?还是完全有另一种方式?
基本上,当我推bar
并提交PR时,我只是试图不搞乱历史或造成不必要的冲突。
我基本上是一个完整的git新手,并且一直使用this online book作为我的学习资源,虽然我似乎无法在那里找到答案,并且没有太多运气谷歌搜索。
答案 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
已合并。