前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git笔记之cherry-pick的使用

git笔记之cherry-pick的使用

作者头像
薛定喵君
发布2019-11-05 19:04:16
1.9K0
发布2019-11-05 19:04:16
举报
文章被收录于专栏:薛定喵君

记下git的cherry-pick的使用

用途

获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上时使用。

# 基本语法

代码语言:javascript
复制
git cherry-pick [<options>] <commit-ish>...

常用options:
    --quit                退出当前的chery-pick序列
    --continue            继续当前的chery-pick序列
    --abort               取消当前的chery-pick序列,恢复当前分支
    -n, --no-commit       不自动提交
    -e, --edit            编辑提交信息

cherry-pick用于把A分支的一次提交,增加到B分支上。 从两个分支最后一个相同的版本状态开始cherry-pick较不容易冲突。

根据commit-id查找所属分支,并把分支上该commit-id对应的提交内容增加到当前分支。

代码语言:javascript
复制
git cherry-pick commit-id

把该分支的最后一次提交增加到当前分支

代码语言:javascript
复制
git cherry-pick branchName

出现冲突时,放弃操作

代码语言:javascript
复制
git cherry-pick --abort

# 成功&冲突

比如dev分支按照时间顺序有3次提交,对应commit-id是commit1、commit2、commit3。 当前在test分支,test分支最后一次提交与commit1时的状态一致。

# 冲突的情况
  • 如果commit2和commit3都修改了同一文件,那么cherry-pick commit3会出现冲突。
  • 如果commit3修改的文件,在commit1版本中不存在(说明是commit2中增加的),那么会出现冲突。 ↓ 当前分支中文件的状态与要cherry-pick的commit中文件状态最多相差一次提交。
# 成功的情况
  • git cherry-pick commit2
  • 当commit3中修改的文件,在commit2中都没有修改时,git cherry-pick commit3
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 基本语法
  • # 成功&冲突
    • # 冲突的情况
      • # 成功的情况
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档