【发布时间】:2013-05-27 07:42:40
【问题描述】:
作为 Git 用户,我经常遇到这样的情况,即我需要以不适合 --amend 或 rebase -iwith fixup 提交的方式重新处理一个或多个提交。通常我会做类似的事情
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
我非常重视明智的组合提交消息。它们通常包含较大的文本,其中包含更改的参考和理由。到目前为止,我对通过未排序的git reflog、git log 和复制粘贴过程恢复我的旧提交消息的漫长过程感到非常恼火。
有没有更好的方法来解决这个问题?如果我包含多个提交,它会如何?
编辑: 经过一番思考后,我认为我正在寻找的是一些类似于 git stash 的功能,用于提交消息,而没有修复/修改提交合适。
【问题讨论】:
-
如果您所做的只是
git reset head~1,那么您的旧提交消息不会只是reflog中的第二个条目吗? -
是的 - 但是我如何能够在不复制和粘贴的情况下重用消息(这通常需要手动取消缩进)
-
现在,只需打开
gitk。这样,您甚至不必使用 reflog。或者,使用rev-parse <branch>在重置之前获取您的哈希并使用 ibizaman 的答案。
标签: git commit git-rebase git-reset commit-message