git把一个分支上的某个提交合并到另一个分支

在Git的实际使用场景中,未必都是很规矩的拉一个分支,开发一个功能,等功能测试完成后,合并到主分支。有很多的场景都是很多人在同一个开发分支上开发,然后按照上线的实际需要,依次去上传自己的功能模块,这个功能模块的提交记录很可能是交叉提交的,那么这时候如何去只合并一个功能到主分支呢?或者是说怎么使用sourceTree去合并某次或某几次(不连续)提交到另一个分支?

1、打开sourceTree,切换到develop分支

 

2、打开本地工作副本,新增test2.txt文件,并编辑 add func1内容

 

3、 提交并推送这次新增到远程仓库

4、打开本地工作副本,编辑test2.txt文件,新增 add func2

 

 

 5、提交并推送这次修改内容,执行完成后,如下图所示

6、现在test2.txt文件 新增的 func1功能由于测试通过,需要先上线,合并到master分支。也就是要合并 新增test2.txt文件  add func1 的提交到master,而不动“新增func2”的提交。

切换到master分支,可以看到master分支落后 develop分支好多版本了,test2.txt文件对于master分支完全是新增文件,所以待会合并某次提交到master分支的时候,应该不会产生冲突的。下面关键的操作来了。

 7、将当前分支切换到所有分支,如下图红框内

 

8、 选择待合并的提交记录,右键 – 》遴选

 9、在确认遴选的弹窗中点击是。

 

 10、执行完后。切换到当前分支,可以看到master分支的本地仓库多了一个” 新增test2.txt文件  add func1” 的提交历史记录。执行的过程中果然是没有遇到冲突

 

 11、推送该次合并到master分支的远程仓库。这样就完成了,合并某次提交到另一分支的操作。

 

 如果是通过git命令进行操作可以参考如下文章:

1:https://www.cnblogs.com/phpper/p/7609238.html

 

posted @ 2020-06-13 11:23  都市烟火  阅读(37992)  评论(2编辑  收藏  举报