📜  git cherry 选择提交的一部分 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:55.322000             🧑  作者: Mango

Git Cherry: 选择提交的一部分

git cherry是一个非常方便的命令,它可以帮助你筛选出想要合并到目标分支的提交记录。如果你只想合并一部分提交,而不是所有提交,git cherry就非常有用了。

什么是 Cherry Picking?

Cherry-picking是指从一个分支中“挑选”出一个或多个提交并将它们应用到另一个分支上的操作。这通常用于将一个或多个提交合并到另一个分支上,而不将整个分支合并。

用法

git cherry命令的用法如下:

git cherry [<upstream> [<head> [<limit>]]]

其中:

  • <upstream>是要比较的上游分支,默认为HEAD
  • <head>是要比较的本地分支,默认为当前分支。
  • <limit>是要比较的提交数量,默认为无限制。
示例

比如,有一个分支feature-branch,你想将其中的一个提交记录合并到master分支上。

git checkout master
git cherry-pick abc123

其中abc123是要应用到master分支的提交ID。

git cherry-pick会基于当前分支创建一个新提交,将选定的提交应用到它上面。如果合并没有冲突,这个新提交就自动成为父提交。

只选择一部分提交

如果您只想挑选提交记录的某一部分,可以使用--patch选项。例如,以下命令可以让您在选择提交时为每个文件显示差异:

git cherry-pick --no-commit --patch abc123

您将会得到一个以交互方式进行选择哪些更改会应用的提示。只需按下y来应用更改,或按下n跳过它们。

总结

通过使用git cherry命令,您可以轻松选择要合并到目标分支的部分提交。这是在Git中对提交进行选择和编辑的非常有用的工具。