我正在使用Emacs +它在很多方面都是神奇的magit模式来使用git。我的工作流程有一个方面,但是我无法映射到这个,因此这个问题。
有时你有一个提交应该重新设计成单独的提交。我可以使用magit以交互方式重新提交我的提交,并声明我打算编辑所述提交。
现在我必须切换到git gui,选择“ammend last commit”,它显示了我的分阶段更改,并取消了我想要成为单独提交的那些部分。然后我提交,分阶段排除,再次提交 - 瞧,我的历史中有一个新的提交。
到目前为止,我还没有找到使用Emacs实现此目的的方法。任何提示?
答案 0 :(得分:4)
在你开始改变之后,不要去gui,做一个magit-reset-head到HEAD~1,这将使你处于取消更改的位置,并按照需要进行阶段和提交,最后继续从magit状态缓冲区中重新定义。
示例场景工作流程:
magit-log
magit-reset-head
( x ),在提示中指定HEAD~1
。您现在将有四个提交,每个提交按A,B,C,D顺序更改一个文件。