ben*_*lor 88 git commit-message commit git-rebase git-reset
作为Git用户,我经常遇到这种情况,我需要以一种不适合--amend
或不适合rebase -i
fixup提交的方式重做一个或多个提交.通常我会做类似的事情
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
Run Code Online (Sandbox Code Playgroud)
我认为合理的撰写提交消息非常严重.它们通常包含较大的文本,其中包含对更改的引用和理由.到目前为止,我对通过未排序git reflog
,git log
复制和粘贴过程恢复旧提交消息的漫长过程感到非常恼火.
有没有更好的解决这个问题?如果我包含多个提交,它会怎么样?
编辑:经过一番思考之后,我认为我正在寻找的是一些git stash- like功能,用于提交消息,其中fixup/revision提交不合适.
ibi*_*man 117
经过一次git reset
,这个单线可以做到:
git commit --reuse-message=HEAD@{1}
Run Code Online (Sandbox Code Playgroud)
甚至更短:
git commit -C HEAD@{1}
Run Code Online (Sandbox Code Playgroud)
您可以使用@ user2718704提供的其他选项.
小智 38
运行"git commit"命令时,您需要检查以下选项,
重用,
--reuse-message=<commit>
Run Code Online (Sandbox Code Playgroud)
要在重用时进行编辑,
--reedit-message=<commit>
Run Code Online (Sandbox Code Playgroud)
要改变作者,
--reset-author
Run Code Online (Sandbox Code Playgroud)
为什么要重置,如果你可以破解,修复,破解,然后运行git commit --amend --no-edit
; 因此,保留您的原始提交消息.
为了使它适用于多次提交,只需使用最新的更改创建一个临时提交,然后使用交互式rebase来压缩先前的提交(包含良好的提交消息)和新的临时提交,保留旧提交的提交消息.
归档时间: |
|
查看次数: |
13382 次 |
最近记录: |