什么" git cherry-pick origin / master"意思?

时间:2018-06-17 14:42:41

标签: git git-cherry-pick

作为标题,git cherry-pick origin/master是什么意思?这条指令如何运作?

从远程更新当前本地主分支(即从远程获取数据并与本地文件合并)时,我们可以使用以下选项:

  • git pull origin master
  • git fetch origin master; git merge origin/master
  • git fetch origin master; git rebase origin/master
  • git fetch origin master; git cherry-pick origin/master

但是我无法理解git cherry-pick origin/master并找不到解释。

如果有人可以提供帮助,请先谢谢。

注意:我对以下内容感到好奇...当我使用git fetch origin master; git cherry-pick origin/master尝试从远程更新当前本地主分支时,此操作会比较先前的提交并将不同的部分作为已修改的文件,因此我可以使用一个提交来包含这些修改过的部分。它是如何工作的?

1 个答案:

答案 0 :(得分:5)

默认情况下,mergerebase处理多次提交,cherry-pick默认只对一次提交进行操作。除非指定(或origin/master与本地origin/master之间只有一次额外提交),否则上面的cherry-pick命令不会包含master的所有提交。

发布git cherry-pick origin/master将在origin/master的尖端进行单次提交,并将其应用于当前工作分支。

除了三个命令如何使用提交操作外,还可以通过查看git文档找到其他差异。

这是对cherry-pickWhat does cherry-picking a commit with git mean?

的一个很好的解释