git笔记之cherry-pick的使用

举报
薛定喵君 发表于 2021/06/03 22:51:26 2021/06/03
【摘要】 记下git的cherry-pick的使用 用途 获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上时使用。 # 基本语法 git cherry-pick [<options>] <commit-ish&...

记下git的cherry-pick的使用

用途

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

# 基本语法


    
  1. git cherry-pick [<options>] <commit-ish>...
  2. 常用options:
  3. --quit 退出当前的chery-pick序列
  4. --continue 继续当前的chery-pick序列
  5. --abort 取消当前的chery-pick序列,恢复当前分支
  6. -n, --no-commit 不自动提交
  7. -e, --edit 编辑提交信息

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

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

git cherry-pick commit-id
   

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

git cherry-pick branchName
   

出现冲突时,放弃操作

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

文章来源: blog.csdn.net,作者:薛定喵君,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jsxg2009/article/details/115244342

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。