有没有更简单的方法来编辑提交日志? (就像红箭指向的日志)
如果是,如何在命令行或gittower中执行此操作?
谢谢!
答案 0 :(得分:2)
只要您没有推送到服务器,就可以使用:
git rebase -i f88232a^
这将从f88232a开始以交互方式重新提交所有提交。 ^
是告诉git在f88232a之前使用提交作为rebase操作的根。运行此命令时,您将看到如下内容:
pick f88232a Update
pick 57bfaca Change, redirect to index after finishing create
pick d23c917 Add missing column: result
...
将第一个pick
更改为e
或edit
。现在你会看到
Stopped at f88232a... Update
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
现在运行
git commit --amend
更改您的提交消息&保存,然后运行
git rebase --continue
瞧!请注意,您将重新编写历史记录到f88232a。从f88232a到现在的每次提交都将被替换为带有新SHA的新提交。如果你有任何分支机构,这将很快变得丑陋,因为这些将基于旧的提交。但它应该做到这一点。
答案 1 :(得分:1)
不,没有一种简单的方法可以做到这一点(并不意味着没有办法,但它会在违规提交后改变每一次提交)。
Git最初旨在让历史变得非常难。下次执行更好的提交描述规则。 (您可以使用挂钩执行基本检查)。