如何在eGit中执行相当于git rebase -i HEAD~2的操作?

Zac*_*ach 14 eclipse git egit

我知道如何在Eclipse中使用eGit重新绑定到特定的分支或标记,但是我还没有找到使用eGit重新绑定到特定sha1的方法.我想这样做是为了在推送到上游之前压缩提交(即,git rebase -i HEAD~n在我想要改变的地方,n是一些提交的地方).这可能与eGit有关吗?如果没有,我应该使用另一个Eclipse插件来提供这个功能吗?

rob*_*inr 8

EGit有rebase,但它还没有你要求的交互式rebase.

  • 此功能将在Eclipse Luna中提供,并且已经可以安装.见http://m-sohn.blogspot.com/2013/11/interactive-rebase-with-egit-32.html (4认同)

Roy*_*ove 8

我已成功使用此帖子中的步骤压缩提交(剪切并粘贴在此处):

如果我想要压缩当前分支上的最后一次m提交,那么我

  • 在历史中选择我不想压缩的第一个提交
  • 右键单击并说"Team-> Reset-> Soft"
  • 右键单击并说"提交".此提交将包含最后m次提交的所有更改


cba*_*dan 1

它目前在 中可用Eclipse Oxygen,它有自己的向导。

  1. History在视图中获取你想要的分支
  2. 右键单击要更改的提交之前的提交
  3. 找到Rebase interactive并点击它
  4. Rebase 向导将显示可用于处理的提交

它的工作方式与控制台版本一样,但在 GUI 上。即使发生冲突,它也会帮助你度过难关。