git cherry pick<commit>做什么?
当前回答
此引用摘自: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简介
其他回答
当你需要樱桃采摘时,情况的简短示例
考虑以下场景。你有两个分支。a) release1-该分支机构将面向您的客户,但还有一些bug需要修复。b) master-经典主分支,例如可以在其中添加版本2的功能。
现在:你在release1中修复了一些东西。当然,您也需要在master中进行此修复。这是樱桃采摘的典型用例。因此,在这个场景中,cherry-pick意味着您从release1分支获取提交并将其包含到主分支中。
cherry-pick是Git的一个功能。如果有人想在一个分支中向目标分支提交特定的提交,那么使用cherry-pick。吉特樱桃镐步骤如下。
签出(切换到)目标分支。gitcherry-pick<提交id>这里提交id是另一个分支的活动id。吉特樱桃镐9772dd546a3609b06f84b680340fb84c5463264f推到目标分支
参观https://git-scm.com/docs/git-cherry-pick
如果要在没有提交ID的情况下进行合并,可以使用以下命令
git cherry-pick master~2 master~0
上面的命令将主服务器的最后三次提交从1合并到3
如果要对单个提交执行此操作,只需删除最后一个选项
git cherry-pick master~2
这样,您将合并从master结尾的第三个提交。
我准备了一步一步的插图,樱桃树做什么,以及这些插图的动画(接近尾声)。
樱桃采摘前(我们将从分支特性中选择提交L):
启动命令git cherry pick功能~2(功能~2是之前的第二次提交特征,即提交L):
执行命令后(git cherry-pick feature~2):
相同的动画:
注:
提交L’从用户的角度来看(提交=快照)是提交L的精确副本。
从技术上讲(内部),它是一个新的、不同的提交(因为例如,L包含指向K的指针(作为其父级),而L'包含指向e的指针)。
此引用摘自: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中找到原始/master的位置,以及如何更改它?
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?