一、gitcherry-pick多个commit
git cherry-pick commit1 commit2 commit3
使用gitcherry-pick命令可以选择单个commit应用到当前分支上,但有时候我们需要选择多个commit进行应用,此时可以在命令行上指定多个commit。
举个例子,假设有三个commit需要应用到当前分支上:
$ git log --oneline f821352 Updated README c1720eb Added new feature 23b75d6 Initial commit $ git cherry-pick f821352 c1720eb 23b75d6
上述命令将先将f821352 commit应用到当前分支上,然后是c1720eb commit,最后是23b75d6 commit。
二、gitcherry-pick和git rebase
git cherry-pick commit git rebase -i commit^
在使用gitcherry-pick命令时,有些情况下可能会出现冲突,此时可以使用git rebase命令进行解决。
举个例子,假设要应用一个名为ABCDEF的commit:
$ git cherry-pick ABCDEF
如果冲突了,则必须手动解决,之后使用下面的命令将该commit修改为当前分支的一个新的基础commit:
$ git rebase -i ABCDEF^
进入交互式的rebase操作模式, 选中并改变pick为edit,保存文件,然后执行下面的命令:
$ git cherry-pick ABCDEF $ git add $ git rebase --continue
下面的命令可以跳过已经被gitcherry-pick过的commit:
$ git cherry-pick --skip
三、gitcherry-pick冲突
在使用gitcherry-pick命令时,可能会出现冲突,这是因为当前分支和需要应用的commit之间修改的地方有冲突。
一般来说,需要手动解决冲突,然后将结果提交到当前分支上。
$ git cherry-pick ABCDEF
出现冲突后,手动解决冲突:
<<<<<<>>>>>> ABCDEF
解决完之后更新索引,继续应用commit:
$ git add $ git cherry-pick --continue
四、gitcherry-picking
gitcherry-picking是指将一个或多个commit从一个分支中挑选出来应用到当前分支中。
当需要在当前分支上应用其他分支中的commit时,可以使用gitcherry-pick命令。
举个例子,假设有一个名为feature的分支,要将其中的一个名为ABCDEF的commit应用到当前分支中:
$ git cherry-pick ABCDEF
其他的一些gitcherry-picking的命令:
$ git cherry-pick -n ABCDEF # 不提交commit $ git cherry-pick -e ABCDEF # 手动编写commit信息 $ git cherry-pick -x ABCDEF # 添加origen的commit信息到新的commit信息中
原创文章,作者:BLEG,如若转载,请注明出处:https://www.506064.com/n/136370.html
微信扫一扫
支付宝扫一扫