git cherry pick<commit>做什么?
当前回答
Git中的樱桃采摘意味着从一个分支中选择一个提交并将其应用到另一个分支。
这与其他方法(如合并和重基)形成对比,后者通常将许多提交应用到另一个分支。
也可以选择多次提交,但合并是首选的选择方式。
确保您位于要应用提交的分支上。git开关主机执行以下操作:gitcherry-pick<提交哈希>
不适用:
如果你从公共部门挑选,你应该考虑使用gitcherry-pick-x<提交哈希>这将生成标准化的提交消息。这样,您(和您的同事)仍然可以跟踪提交的来源,并可能避免将来的合并冲突。如果您在提交时附加了注释,则它们不会遵循樱桃树。为了让他们也过来,你必须使用:gitnotes复制<from><to>
其他链接:
git官方指南页面git樱桃采摘指南
其他回答
它将对当前分支应用特定的提交。
这意味着:
将添加此提交添加的所有文件将删除此提交删除的所有文件将合并此提交修改的所有文件。这意味着提交后的整个文件,而不仅仅是提交后的更改!
示例:考虑提交A
added newFileA
modified main:
+ import './newFileA'
提交B
added newFileB
modified main:
+ import './newFileB'
如果你在另一个分支上选择commit B,你将得到:
/newFileB
/main :
import './newFileA'
import './newFileB'
由于commit B包含newFileB和main,但没有newFileA,因此会导致错误,因此请谨慎使用。
Git中的Cherry picking旨在将一些提交从一个分支应用到另一个分支。如果您犯了一个错误,并将更改提交到错误的分支,但不想合并整个分支,则可以这样做。你可以恢复提交,然后在另一个分支上重新选择。
要使用它,您只需要gitcherry-pick-hash,其中hash是来自其他分支的提交哈希。
有关完整程序,请参阅:http://technosophos.com/2009/12/04/git-cherry-picking-move-small-code-patches-across-branches.html
Git中的樱桃采摘意味着从一个分支中选择一个提交并将其应用到另一个分支。
这与其他方法(如合并和重基)形成对比,后者通常将许多提交应用到另一个分支。
也可以选择多次提交,但合并是首选的选择方式。
确保您位于要应用提交的分支上。git开关主机执行以下操作:gitcherry-pick<提交哈希>
不适用:
如果你从公共部门挑选,你应该考虑使用gitcherry-pick-x<提交哈希>这将生成标准化的提交消息。这样,您(和您的同事)仍然可以跟踪提交的来源,并可能避免将来的合并冲突。如果您在提交时附加了注释,则它们不会遵循樱桃树。为了让他们也过来,你必须使用:gitnotes复制<from><to>
其他链接:
git官方指南页面git樱桃采摘指南
当您与一个项目开发团队合作时,管理多个git分支之间的更改可能会成为一项复杂的任务。有时您不想将整个分支合并到另一个分支中,只需要选择一个或两个特定的提交。这个过程叫做“樱桃采摘”。
找到了一篇很棒的关于樱桃采摘的文章,请查看详细信息:https://www.previousnext.com.au/blog/intro-cherry-picking-git
此引用摘自:Git版本控制
使用gitcherry-pick命令gitcherri-pick-commit应用命名提交在当前分支上引入的更改。它会引入一个新的、不同的提交。严格来说,使用gitcherry pick不会改变存储库中的现有历史;相反,它增加了历史。与其他Git操作一样通过应用diff的过程引入更改,您可能需要解决冲突以完全应用给定提交中的更改。gitcherry-pick命令通常用于介绍从存储库中的一个分支提交到另一个分支。A.常见的用法是从维护中转发或返回端口提交分支到开发分支。
$ git checkout rel_2.3
$ git cherry-pick dev~2 # commit F, below
之前:
之后:
此外,这里有一个非常棒的视频教程:Youtube:Gitcherry-pick简介
推荐文章
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏