git cherry-pick

git 在当前分支下提取某个其他分支的某些提交

首先,使用 `git log` 命令查找要合并的分支上的提交;
git log --pretty=format:"%h %s" <分支名> //运行此命令后,将只显示每个提交的哈希值和提交备注。

确保你在要将提交合并到的当前分支上

git checkout <当前分支名>

使用 git cherry-pick 命令,将特定提交合并到当前分支上

git cherry-pick <提交哈希>

git cherry-pick <A> <B> //A和B都提交

git cherry-pick A..B //从 A 到 B 的所有提交,不包括A

git cherry-pick A^..B //从 A 到 B 的所有提交,包括A

解决合并冲突:打开包含冲突的文件,手动编辑文件解决冲突,在编辑文件时,选择保留需要的更改,并删除冲突标记。也可以在vs、vscode、TortoiseGit、sourcetree等软件中进行冲突处理;
解决冲突
使用 git add 命令标记为已解决

git add <冲突文件1> <冲突文件2> ...

完成合并

git cherry-pick --continue

接下来commit 或skip 结束 cherry-pick状态

git cherry-pick --skip
git cherry-pick --abort

注意:
  • git add file处理完冲突到git cherry-pick --continue时可能会进入一个vi模式,如果对shell等相关命令不熟的话建议直接输入q退出;
    在这里插入图片描述

也就是说我们在软件中处理完冲突后,不进行addcherry-pick --continue 操作

下图为本地库中无add内容
在这里插入图片描述
而是直接使用git cherry-pick --skipgit cherry-pick --abort 退出cherry-pick模式返回到我们熟悉的正常的提交流程

  • git cherry-pick模式没有退出的情况下是无法使用pull ,push这样的命令与远程交互的。

  • git cherry-pick --skipgit cherry-pick --abort

git cherry-pick 命令用于将一个或多个提交从一个分支应用到另一个分支。有时,在进行 cherry-pick 操作期间可能会出现问题,需要中止或跳过操作。以下是关于 git cherry-pick --skipgit cherry-pick --abort 命令的解释:

  1. git cherry-pick --skip:
    • 当您在进行 git cherry-pick 操作时,如果出现冲突或其他问题,您可以使用 git cherry-pick --skip 命令来跳过当前正在进行的 cherry-pick 操作。
    • 这个命令告诉 Git 不再尝试应用当前的提交,而是跳到下一个提交,如果有的话。
    • 这对于在进行一系列 cherry-pick 操作时,遇到无法解决的冲突或其他问题时很有用。
  2. git cherry-pick --abort:
    • 如果您在进行 git cherry-pick 操作时决定放弃当前操作,可以使用 git cherry-pick --abort 命令。
    • 这个命令将会取消当前正在进行的 cherry-pick 操作,恢复到操作之前的状态。
    • 执行这个命令后,您将回到当前分支上,未应用的提交将保持未变。

这两个命令只在进行 git cherry-pick 操作期间有效,用于管理 cherry-pick 过程中可能出现的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值