Git中的"cherry-picking"指什么?
这段引言摘自:《掌握Git版本控制》
使用git cherry-pick命令可以将指定提交引入到当前分支中并生成一个新的独立提交。 严格来说,使用git cherry-pick命令不会改变存储库中的现有历史记录,而是向历史记录中添加新的记录。与其他Git操作使用应用差异的过程引入更改一样,您可能需要解决冲突以完全应用来自特定提交的更改。 git cherry-pick命令通常用于在存储库内将一个分支中的特定提交引入到另一个分支中,并将提交从维护分支前向或后向移植到开发分支中。
注:以上内容摘自原文,与机器翻译内容略有不同,请以原文为准。
$ git checkout rel_2.3 $ git cherry-pick dev~2 # commit F, below
之前:
之后:
此外,这里有一个非常好的视频教程:Youtube: Git cherry-pick入门
在 Git 中,选择一个分支的提交并将其应用于另一个分支被称为“cherry-pick”。
这与其他方法(如“merge”和“rebase”)的区别在于,它通常会将多个提交应用于另一个分支。
也可以选择多个提交进行 cherry-pick,但是相对于 cherry-pick,合并是首选的方式。
-
确保你在想要将提交应用到的分支上。
git switch master
-
执行以下操作:
git cherry-pick
附注:
-
如果你从公共分支进行 cherry-pick,你应该考虑使用
git cherry-pick -x
这将生成一个标准化的提交消息。这样,你(和你的同事)仍然可以追踪提交的来源,并且可能在未来避免合并冲突。
-
如果提交附带了注释,则不会将其带入 cherry-pick。要将它们一起带入,请使用:
git notes copy
附加链接: