2.5 重写提交说明

很多人可能像我一样,在敲下回车之后才发现提交说明中有错别字,或忘记了写关联的Bug ID,此时就需要重写提交说明。

1.SVN的解决方案

在默认情况下,SVN的提交说明是禁止更改的,因为SVN的提交说明属于不受版本控制的属性,一旦修改就不可恢复。我建议SVN的管理员只有在配置了版本库更改的外发邮件通知之后,再开放提交说明更改的功能。我发布于SourceForge上的pySvnManager项目提供了SVN版本库图形化的钩子管理,会简化管理员的配置工作。

即使SVN管理员启用了允许更改提交说明的设置,修改提交说明也还是挺复杂的,看看下面的命令:


$svn ps—revprop-r<REV>svn:log "new log message…"


2.Git的解决方案

Git修改提交说明很简单,而且提交说明的修改也是被追踪的。Git修改最新提交的提交说明最为简单,使用一条名为修补提交的命令即可。


$git commit—amend


这个命令如果不带-m参数,会进入提交说明编辑界面,修改原来的提交说明,直到满意为止。

如果要修改某个历史提交的提交说明,Git也可以实现,但要用到另外一个命令:变基命令。例如,要修改<commit-id>所标识的提交的提交说明,执行下面的命令,并在弹出的变基索引文件中修改相应提交前面的动作的关键字。


$git rebase-i<commit-id>^


关于如何使用交互式变基操作更改历史提交的提交说明,请参见本书第2篇第12章中的内容。