Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将一个更改合并到Git中的多个分支_Git_Version Control_Git Branch_Branching And Merging - Fatal编程技术网

将一个更改合并到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合并到实验中,但这仍然会给您两个合并提交。不确定这是否一直有效。如果您的错误修复分支与实验分支大不相同怎么办。您将遇到冲突,并且合并将显示比您实际尝试合并的文件更多的文件。如果不将源分支与目标分支重新同步,您如何使其始终工作?