git rebase--onto 合并指定commit的简单使用
使用场景假设有prod(生产环境)、dev(测试环境)两个分支,在dev分支上有部分未开发完成或者未测试完成的功能没有同步到prod分支,然而此时prod上有bug需要修复,这种情况我们一般是不会直接在prod分支上修改的,因为有风险。此时我们一般有两种选择:1、单独建立一个bug分支,用来修改prod分支的bug,修改测试完成后,再合并到prod分支2、在dev分支上修改,测试完成后把bug相关
使用场景
假设有prod(生产环境)、dev(测试环境)两个分支,在dev分支上有部分未开发完成或者未测试完成的功能没有同步到prod分支,然而此时prod上有bug需要修复,这种情况我们一般是不会直接在prod分支上修改的,因为有风险。
此时我们一般有两种选择:
1、单独建立一个bug分支,用来修改prod分支的bug,修改测试完成后,再合并到prod分支
2、在dev分支上修改,测试完成后把bug相关的代码合并到prod分支
第一种方法很简单,这里简单讲解一下第二种方法。
命令讲解
git rebase --onto [branch] commit版本号1(开始) commit版本号2(结束)
这个命令会把从commit版本号1到commit版本号2的所有提交全部合并到起来并存在一个临时分支中
操作步骤
#比如你在dev分支上把bug修复了,要合并到prod分支上,那么你需要在dev分支上这么操作
git checkout dev #如果你已经在dev分支上了,则可以忽略这个操作
#查看提交日志
git log
#找到这个bug相关的第一次提交记录,复制版本号,然后在找到最后一次提交记录复制版本号,最后执行
git rebase --onto prod 628d120fb120ee559be15722a590591e0a0e2242 28b3c460002bfd44e1e18566dffe6075baaf25b5
#注意此时如果出现冲突,解决掉冲突后执行git commit -am '备注',提交后再执行git rebase --continue
#此时你可以用git branch查看一下你目前所在的分支,是一个临时分支
git branch
#我们要新建一个bug分支,把内容转存到bug分支上边
git checkout -b bug
#然后再切换到prod分支,合并bug分支
git checkout prod
git merge bug
更多推荐
所有评论(0)