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

时间:2015-04-01 14:45:56

标签: eclipse git gerrit cherry-pick

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

  1. 如果我结帐分支A并转到C1(在Git视图的历史记录中)并点击“樱桃选择”,它说你想在分支A中挑选吗?所以,这里没有关于分支B的讨论。
  2. 如果我结帐分支B,则根本不会显示提交C1。
  3. 现在,我如何将分支A的C1提交到分支B? 我在日食中使用Gerrit,GitBlit和EGit。

5 个答案:

答案 0 :(得分:11)

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

how to see all commits in Eclipse IDE EGIT to cherry pick

答案 1 :(得分:9)

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

enter image description here history tool bar

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

enter image description here

答案 2 :(得分:6)

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

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

git checkout branchB
git cherry-pick hashOfC1

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

答案 3 :(得分:1)

步骤:从其他分行选择

切换当前分支

enter image description here

  1. 点击/打勾/显示所有分支
  2. 选择并右键单击->樱桃选择提交

enter image description here

  1. 继续直到完成。
  2. 右键单击项目,然后在当前分支上推送提交。

答案 4 :(得分:1)

要在 Eclipse eGit 中选择另一个分支,请执行以下步骤:

  1. 签出一个分支,在那里你可以挑选一个提交。
  2. 打开历史视图。
  3. 在工具栏中单击“更改要显示的提交”以显示与配置的引用过滤器匹配的所有分支。
  4. 选择一个提交并打开上下文菜单,然后按樱桃选择。