将一个更改合并到Git中的多个分支
我习惯于拥有一个主要分支(硕士),并在主题分支中工作。但我现在正在做一个有两个主要分支(硕士和实验)的项目,我不确定如何最好地将我的主题分支合并到这两个分支中 这样做对吗?如果没有,请告诉我正确的方法将一个更改合并到Git中的多个分支,git,version-control,git-branch,branching-and-merging,Git,Version Control,Git Branch,Branching And Merging,我习惯于拥有一个主要分支(硕士),并在主题分支中工作。但我现在正在做一个有两个主要分支(硕士和实验)的项目,我不确定如何最好地将我的主题分支合并到这两个分支中 这样做对吗?如果没有,请告诉我正确的方法 (master)$ git checkout -b bugfix # do bug fix here (bugfix)$ git commit -a -m 'Fixed bug.' (bugfix)$ git checkout master (master)$ git merge bugfix
(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix
(master)$ git checkout bugfix
(bugfix)$ git rebase experimental
(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix
谢谢。不要重新设置基础,您就可以开始了。只需将您的
错误修复
分支合并到您需要的每个分支中
(master)$ git checkout -b bugfix
# do bug fix here
(bugfix)$ git commit -a -m 'Fixed bug.'
(bugfix)$ git checkout master
(master)$ git merge bugfix
(bugfix)$ git checkout experimental
(experimental)$ git merge bugfix
在执行重基时,您创建的提交与已合并的提交类似,但不同。在执行“签出+合并”之后执行“重基”,本质上等同于cherry选择“修复bug提交”。谢谢。这样做,将只有合并提交显示在主和实验?我可以这样做吗?这样我的主题分支就可以显示了吗?Git在这里通常做什么?合并
bugfix
后,主控和实验将包含所有可从bugfix
访问的提交(执行Git log bugfix
以显示它们)。好的,谢谢,最后,当主题分支中只有一个提交时,我可以避免在master和experimental中出现单独的合并提交吗?不,如果合并它就不会。或者,您可以修复master(或主题分支中的bug,然后合并到master)中的bug,并将master合并到实验中,但这仍然会给您两个合并提交。不确定这是否一直有效。如果您的错误修复分支与实验分支大不相同怎么办。您将遇到冲突,并且合并将显示比您实际尝试合并的文件更多的文件。如果不将源分支与目标分支重新同步,您如何使其始终工作?