如何在没有历史的系统上从分支A到分支B进行挑选?

Far*_*hti 11 eclipse git cherry-pick gerrit

假设我有一个没有git历史的新系统,我对分支A进行了新的检查.分支A已经有一个提交C1,我昨天从其他系统做过.现在我想在分支B中挑选这个提交C1.问题:

  1. 如果我拿出分支A的结账并转到提交C1(在Git视图中的历史记录中)并点击'cherry pick',它表示你想在分支A中挑选樱桃吗?所以,这里没有关于分支B的讨论.
  2. 如果我检查分支B,它将不会显示提交C1.

现在,我如何将分支A的C1提交到分支B?我在日食中使用Gerrit,GitBlit和EGit.

Dan*_*ski 14

Qualatar评论有点过时,这里是如何在'版本:Luna SR2(4.4.2)'中显示'显示历史'中的所有分支,以便您可以'右键单击> Cherry Pick'.

如何查看Eclipse IDE EGIT中的所有提交以挑选


Fai*_*qui 9

转到"团队同步",右键单击项目以显示菜单.选择显示在 - >历史记录.这将显示包含更改集的历史记录选项卡.

在此输入图像描述 历史工具栏

当您单击带有2个向下箭头的图标时,您将看到所有更改,即使是那些不在您的分支中的更改.右键单击要挑选的变更集,然后选择Cherry Pick ..选项,如图所示

在此输入图像描述


Ben*_*ver 6

我不熟悉您正在使用的GUI,但您所描述的概念在git中是完全可以接受的.

要从分支A到分支B选择提交,请使用以下命令行命令:

git checkout branchB
git cherry-pick hashOfC1
Run Code Online (Sandbox Code Playgroud)

您正在使用的GUI中应该有一种"查看所有分支"模式,以便在检出分支B时可以看到提交C1,但如果没有,则上述命令很容易执行.

  • [EGit用户指南](https://wiki.eclipse.org/EGit/User_Guide#Cherry-pick_Introduction)有一个非常好的示例,说明了如何从用户界面中进行选择。 (3认同)
  • 得到它了 !!!罪魁祸首是历史视图右上角的一个小圆柱体,上面写着"显示包含所选资源的存储库中的所有更改".需要选择它来显示所有分支的提交.但是,这是一个悬而未决的问题.当我结帐分支B时,是否会提取所有分支的所有详细信息以更新此历史记录树? (3认同)