git合并某个分支的某次提交(cherry-pick)

为什么会有多个分支

一般项目在开发阶段,都会创建多个分支,用于不同开发阶段的版本发布
如:master、dev等,之所以会有这种多分支情况,就是项目在不同的开发阶段,新的业务会对之前业务造成影响,所以建多个分支用来发布不同的迭代版本,直至一个迭代完成测试、上线。

如何将某个分支的某次提交合到一个分支上?

将某个分支的一个(或多个)提交合并到另一个分支,注意不是merge,merge是全部合并、而我们要的是可选择的,就要用到 Cherry pick

demo

1、比如我现在有两个分支master和tenant,在tenant分支上有多次提交,但是我只想提交某两次在master分支。
git合并某个分支的某次提交(cherry-pick)_第1张图片
2、在项目目录下打开git的黑窗口
git合并某个分支的某次提交(cherry-pick)_第2张图片
3、查看 tenant分支 提交版本号记录,找到我们要合并的两次版本号。

git log tenant

git合并某个分支的某次提交(cherry-pick)_第3张图片
4、如果提交记录比较长,想要退出,按“q”,否则会一直加载日志。
5、切换到待合并分支 master

git checkout master

git合并某个分支的某次提交(cherry-pick)_第4张图片

6、执行合并

git cherry-pick 6b4182a807ef4e30b7da3ea9bf7211b4de9a7b6f

git合并某个分支的某次提交(cherry-pick)_第5张图片
7、推到远程

git push

git合并某个分支的某次提交(cherry-pick)_第6张图片
这个时候,可以看到主分支的提交记录已经包括了我们合并的两次提交。
git合并某个分支的某次提交(cherry-pick)_第7张图片
最后,需要注意的是,
合并某次提交,并不是合并某次提交修改的内容,而且会将某次提交时的文件合并到分支。

你可能感兴趣的:(git,github)