Movatterモバイル変換


[0]ホーム

URL:


git cherry-pick

原创于 2022-04-15 16:16:08 发布·549 阅读
· 0
· 0·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
文章标签:

#git

本文介绍了如何使用git cherry-pick将一个分支中的特定提交合并到另一个分支。通过找到commit id,切换分支,拉取最新代码,然后执行git cherry-pick命令实现合并。在遇到代码冲突时,提供了处理冲突的步骤。

cherry-pink 的作用就是将一个分支中的某一次提交操作合并到另外一个分支中(注意合并的是一个分支中的某一次提交)

例如当前分支位于dev分支上,我们仅仅是想将dev分支上的某一次提交合并到main分支中

第一步:在当前(dev)分支中查找到某一次提交操作的commit id,可以使用下述命令

git rev-parse HEAD

我们得到了commit id为f5044795af999044a8c8f77e222578034c34c2af

当前除了上述命令获取commit id以外,还可以使用下述命令获取一个较短长度的commit id:

git rev-parse --short HEAD

执行上述命令以后,获取到的较短长度的commit id为:

f504479

 

 关于git rev-parse HEAD命令的补充介绍:

git rev-parse HEAD:获取当前分支中最近的一次commit idgit rev-parse --short HEAD:获取当前分支中最近的一次commit idgit rev-parse HEAD~x:获取当前分支中排除最近的一次commit id,前面第x次的commit id(可以理解为是一种降序排列)

除了上述方法能获取到当前分支的commit id以外,其实还可以使用下述命令:

git log -n 5 --oneline

从上面这张图我们也可以看出最近一次commit id为 f504479,不管是短的commit id,还是长的commit id其后面对于使用git cherry-pink命令的作用是一样的。

第二步:使用 git checkout 命令切换到另外一个分支(main)

git checkout 分支名称

切换完分支以后使用git pull命令拉取当前分支的最新代码:

git pull

第三步:在main分支中使用git cherry-pick commitid 命令将dev分支上的某一次提交操作合并到main分支中,如下所示:

可以看到在执行了上述命令以后, 在main分支中自动创建两个新文件。

当前进行cherry-pink是十分顺利的,还没有遇到代码冲突这种情况。假设遇到了如下所示的代码冲突,那我们该怎么办了?

查看代码合并具有冲突的文件:

将当前分支的代码删除掉,保留想要合并进来的其它分支的代码,处理完以后会看见文件命名变成红色:

 

这个时候只需要将已解决代码冲突的文件再次进行git add添加到暂存区,这个时候这个文件命名的颜色就会变成蓝色,接着再从暂存区提交到本地仓库即可。

确定要放弃本次机会?
福利倒计时
::

立减 ¥

普通VIP年卡可用
立即使用
参与评论您还未登录,请先登录后发表或查看评论

博客等级

码龄8年
782
原创
1289
点赞
2663
收藏
933
粉丝
关注
私信

分类专栏

展开全部收起

上一篇:
Python的第三方库pillow
下一篇:
MySQL中的MVCC机制

大家在看

最新文章

目录

展开全部

收起

目录

展开全部

收起

上一篇:
Python的第三方库pillow
下一篇:
MySQL中的MVCC机制

目录

评论
被折叠的  条评论为什么被折叠?到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

[8]ページ先頭

©2009-2025 Movatter.jp