Git:在合并到master之前从master拉到topic分支?
假设我有一个主题分支Git:在合并到master之前从master拉到topic分支?,git,branching-and-merging,Git,Branching And Merging,假设我有一个主题分支fix bug-#25,它在几次提交之前已经从master中分离出来: o--o--o master \ o--o--o bug-fix-#25 我修好了程序错误> -Fix-Fix- 25代码>我修改了bug并想合并分支 进入master。我是否应该先签出master,将主题分支合并到master中 git checkout master git pull git merge bug-fix-#25 或者我应该先签出主题分支并从主分支中提取,然后再签出主分
fix bug-#25
,它在几次提交之前已经从master
中分离出来:
o--o--o master
\
o--o--o bug-fix-#25
我修好了程序错误> -Fix-Fix- 25代码>我修改了bug并想合并分支 进入
master
。我是否应该先签出master,将主题分支合并到master中
git checkout master
git pull
git merge bug-fix-#25
或者我应该先签出主题分支并从主分支中提取,然后再签出主分支并与主题分支合并
git checkout fix-bug-#25
git pull
git pull origin master
git checkout master
git pull
git merge fix-bug-#25
这样做的最佳方法是什么,以最大限度地减少合并冲突的数量?tl;dr:Imho您应该将较小的更改合并到
master
中,但在主题分支上完成较大的更改。
这是政策、品味和环境的问题 我真的不喜欢太多的合并提交,这就是为什么我会选择第一条路线。(我也
git-pull--rebase
,因为这是另一回事。)确实,您应该测试master
是否仍能像前面提到的那样使用您的修复程序(尽管这也是一个政策问题),但也可以在master
上完成。如果修复有小问题,可以在合并前重置为,修复分支并再次合并
但是,如果修复有大问题,例如,因为
master
在主题分支上引入了很多更改,并且需要进行大量工作/提交才能修复,我会首先将master
合并到主题分支中。这有助于保持master
干净。确保您的bug修复程序仍然适用于master
上当前不在功能/主题分支中的新代码可能很有价值,在这种情况下,您可以使用第二种方法,插入“测试”在git pull origin master
和git checkout master
之间进行步进。我认为这两种方法都不会减少合并冲突的数量,因为当您将分支合并到master
(第一种方法)或将origin/master
拉入分支(第二种方法)时,冲突就会得到解决。