【初识Git】git cherry-pick

git cherry-pick是一个强大的命令,可以通过引用选择任意 Git 提交并将其附加到当前工作的 HEAD。Cherry Picking 是从一个分支中选择一个提交并将其应用到另一个分支的行为。git cherry-pick可用于撤消更改。例如,假设不小心向错误的分支提交了一次提交。您可以切换到正确的分支并选择提交到它应该属于的位置。

什么时候使用 git cherry pick

git cherry-pick 是一个有用的命令,但并不总是最佳实践。Cherry Picking 可能会导致重复提交,并且在大多数情况下 Cherry Picking 会起副作用,因此首选传统的合并。不过对于一些场景来说,git cherry-pick 是一个方便的命令....

假如有这样一个场景,由于某些原因我们不得不将某个分支的某次提交合并到另外一个分支,此时使用 git merge 的话又过于繁琐,最快的方式就是使用 git cherry pick !

如何使用 git cherry pick

为了演示如何使用,git cherry-pick让我们假设我们有一个具有以下分支状态的存储库:

    a - b - c - d   Main
         \
           e - f - g Feature

git cherry-pick用法很简单,可以像这样执行:

git cherry-pick commitSha

在这个例子commit中,Sha 是一个提交引用。您可以使用git log. 在这个例子中,我们构建了假设我们想在main. 首先,我们确保我们正在main 分支上工作。

git checkout main

然后我们使用以下命令执行cherry-pick:

git cherry-pick f

一旦执行,我们的 Git 历史将如下所示:

 a - b - c - d - f   Main
         \
           e - f - g Feature

f 提交已成功挑选到主分支

git cherry pick 的例子

git cherry pick也可以传递一些执行选项。

-edit

-edit选项将会使 git 在执行 cherry-pick 操作之前提示输入提交消息。

--no-commit

--no-commit选项将执行cherry-pick,但不会进行新的提交,而是将目标提交的内容移动到当前分支的工作目录中。

--signoff

--signoff选项将在cherry-pick提交消息的末尾添加一个“signoff”签名行。

除了这些有用的选项外,git cherry-pick 还接受各种合并策略选项。在git 合并策略 文档中了解有关这些选项的更多信息。

此外, git cherry-pick 还接受用于合并冲突解决的选项输入,这包括选项:--abort --continue并且关于git merge 和git rebase--quit更深入地介绍了此选项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值