0


Git 精通之道:使用 Cherry-Pick 选择性合并提交的高阶指南

想要分批分时间推送代码
做了大量修改后,想要将这些修改按功能或逻辑分开提交

git cherry-pick

允许你选择某个分支中的一个或多个提交(commits),然后将这些提交复制到当前分支上。这个命令非常适合在你只需要从另一个分支上获取某些特定更改,而不是整个分支内容时使用。

如何使用

基本的

git cherry-pick

命令格式如下:

git cherry-pick <commit-hash>

其中

<commit-hash>

是你想要复制到当前分支上的提交的哈希值。哈希值可以通过

git log

命令查找。

示例步骤

假设你正在修复一个问题,发现在另一个分支上已经有了修复这个问题的提交,你希望将这个修复应用到你当前的分支上。你可以这样操作:

  1. 找到需要的提交的哈希值:- 切换到包含所需提交的分支。git checkout other-branch- 使用 git log 查找提交的哈希值。git log在输出中,找到你想要的提交,并复制它的哈希值。
  2. 切换回你的工作分支git checkout your-branch
  3. 使用 cherry-pick 应用该提交git cherry-pick <commit-hash><commit-hash> 替换为你在第一步中复制的哈希值。

高级用法

  • 应用多个提交:你可以一次性 cherry-pick 多个提交,只需要在命令中依次列出所有想要应用的提交的哈希值。git cherry-pick <commit-hash1><commit-hash2>
  • 应用一系列提交:如果你想要应用一个连续的提交序列,可以使用下面的语法:git cherry-pick <start-commit-hash>^..<end-commit-hash>这会应用从 <start-commit-hash><end-commit-hash>(包含这两个提交)之间的所有提交。

注意事项

  • 冲突git cherry-pick 时可能会遇到冲突,就像合并时一样。如果发生冲突,Git 会停止应用当前的提交,并要求你解决冲突。解决冲突后,你需要使用 git cherry-pick --continue 来完成 cherry-pick 操作。
  • 使用场景:虽然 cherry-pick 很有用,但它改变了提交的上下文,有时可能会引起问题。因此,建议只在确实需要时使用,比如修复从其他分支提取特定的更改。
git cherry-pick

提供了一种灵活的方法来选择性地应用提交,有助于在分支间管理特定的更改。不过,要谨慎使用,以避免可能的冲突或混乱。


如果工作已经分在不同的提交上,且想要一次性推送一批提交,可以先将这些提交合并为一个(通过交互式 rebase),然后再推送。

git rebase -i HEAD~<number-of-commits>

在交互式模式中,您可以选择将部分提交合并(squash)为一个。

标签: git

本文转载自: https://blog.csdn.net/weixin_38766672/article/details/137103672
版权归原作者 梦里头的小狗 所有, 如有侵权,请联系我们删除。

“Git 精通之道:使用 Cherry-Pick 选择性合并提交的高阶指南”的评论:

还没有评论