如何从一个分支中精选内容并复制到另一个分支

253

我有两个分支,masterdev

我现在在dev分支上,想要从master分支上挑选一个提交并将其应用到dev分支上。所以我执行了以下命令:

$ git cherry-pick be530cec7748e037c665bd5a585e6d9ce11bc8ad
Finished one cherry-pick.

但是当我执行git statusgitx时,我在git历史记录中看不到我的提交be530cec7748e037c665bd5a585e6d9ce11bc8ad

如何在dev分支中看到我的提交?

2个回答

419

当您 cherry-pick 时,它会创建一个新的提交记录并生成一个新的 SHA。如果您执行以下操作:

git cherry-pick -x <sha>

那么至少你将会在新提交中附加原始提交的提交消息以及原始SHA,这对于跟踪樱桃拣选非常有用。


57
"-x" 是为了在消息中添加一行,指示提交是从哪里挑选的。仅对公共分支有用,从本地(私有)分支挑选到公共分支时用处不大。 - Dinesh Kumar
1
"-x"是可选的。 - undefined
"-x"是可选的。 - Shady Smaoui

13
如果您是 IntelliJ 用户,这很简单。
在这里,我从 master 分支中 挑选 一个提交到 give-me-commit-branch 分支。请注意以下图片中的几点:
  • 目标分支:当前已经检出的分支是 give-me-a-commit-branch,由tag图标表示。
  • 源分支:所选的 master 分支其提交日志显示在右侧,是该提交的源分支。
  • 搜索能力:使用搜索(放大镜图标)选项,我们可以找到修订号。
  • 多次选择:一次可以选择多个提交并将它们一起 挑选

这个工具易于使用且透明。

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接