【发布时间】:2014-11-12 13:36:23
【问题描述】:
我正在使用 Emacs + 它在很多方面都非常棒,可以与 git 一起使用。尽管我无法映射到我的工作流程的一个方面,因此也无法映射到这个问题。
有时您有一个提交,应该将其重新设计为单独的提交。我可以使用 magit 以交互方式 rebase 我的提交,并声明我打算编辑所述提交。
现在我必须切换到 git gui,选择“ammend last commit”,它会显示已分阶段的更改,然后取消暂存那些我想成为单独提交的部分。然后我提交,暂存排除,然后再次提交 - 瞧,我的历史中有一个新的提交。
到目前为止,我还没有找到使用 Emacs 完成此任务的方法。有什么提示吗?
【问题讨论】:
-
这可能在 Emacs.SE 上问得更好。
-
嘿,你如何交互式地重新提交提交? :)
-
@SeanAllred 哦,我不知道有一个。转到日志(来自 magit-info 缓冲区的“l l”),转到提交,然后按“E”。我会从那里重新调整所有提交。确保使用“C-x #”保存缓冲区,因为它是远程缓冲区。
-
在
next分支上,rebase 得到了很大的改进,例如当 rebase 正在进行时,尚未重新应用的提交以及已经重新应用的提交会显示在状态缓冲区中。您的问题(“如何拆分提交”)我已在其他地方详细回答:github.com/magit/magit/issues/966#issuecomment-60498587。 (下面 Jordon 建议是一种方法,但是当使用next分支时,有一个更优雅的变体。