如何在存在旧提交历史的情况下开始使用自动生成的变更日志
How to start using automatically generated changelog with old commit history present
在一家公司,我们有一个项目已经进行了一段时间。在这个项目中,我们使用 git 进行版本控制。我们正在努力使我们的 git 工作流程更专业、更易于协作。我们要采取的步骤之一是自动生成变更日志,例如generate-changelog。这个包要求提交我们的格式遵循 Angular 提交消息格式。
我很乐意在未来按照这种格式编写所有提交,但是我们仍然有很多(几百个)不遵循这种格式的提交。同时,我想让更新日志自动生成。
有没有办法自动生成变更日志,尽管旧的提交消息不符合要求的格式?或者我们是否可以 'update' 提交消息,以便我们确实遵循所需的格式?
如果您需要更多信息,请告诉我,我会相应地更新问题。
更新:
我想在所有旧的提交消息前加上一些文本,例如:docs:
。按照建议进行交互式变基 here and in the does work, but only if you have a few commit messages. I am looking for a way to change all commit messages at once. An exmaple that I did not get to work yet can be found in this SO question/answer。
好吧,考虑到您不想为您的实际历史编写更新日志文件,选项是 change old commit messages。
如链接答案中所述,您应该 运行 git rebase -i HEAD~n
,其中 n
是您要更改的提交数。可以使用 --root
标志代替 HEAD~n
在 rebase
命令中选择整个历史记录,如图 here:
git rebase -i --root
在交互式 rebase
期间,您将在一行中看到每个选定的提交。由于您只想重写它的消息,您可以使用 reword
关键字标记它的行,根据需要更改等效的提交消息
之后,保存更改并运行 generate-changelog
获取自动更改日志文件
在一家公司,我们有一个项目已经进行了一段时间。在这个项目中,我们使用 git 进行版本控制。我们正在努力使我们的 git 工作流程更专业、更易于协作。我们要采取的步骤之一是自动生成变更日志,例如generate-changelog。这个包要求提交我们的格式遵循 Angular 提交消息格式。
我很乐意在未来按照这种格式编写所有提交,但是我们仍然有很多(几百个)不遵循这种格式的提交。同时,我想让更新日志自动生成。
有没有办法自动生成变更日志,尽管旧的提交消息不符合要求的格式?或者我们是否可以 'update' 提交消息,以便我们确实遵循所需的格式?
如果您需要更多信息,请告诉我,我会相应地更新问题。
更新:
我想在所有旧的提交消息前加上一些文本,例如:docs:
。按照建议进行交互式变基 here and in the
好吧,考虑到您不想为您的实际历史编写更新日志文件,选项是 change old commit messages。
如链接答案中所述,您应该 运行 git rebase -i HEAD~n
,其中 n
是您要更改的提交数。可以使用 --root
标志代替 HEAD~n
在 rebase
命令中选择整个历史记录,如图 here:
git rebase -i --root
在交互式 rebase
期间,您将在一行中看到每个选定的提交。由于您只想重写它的消息,您可以使用 reword
关键字标记它的行,根据需要更改等效的提交消息
之后,保存更改并运行 generate-changelog
获取自动更改日志文件