2017-08-25 145 views

回答

0

由于Git会不知道哪些是提交重要你,你必须首先定义你自己的一套准则/格式怎么写你提交的信息,然后你就可以在后面使用轻松区分特定开发阶段所做的所有提交。

例如:

  • 如果它是一个错误修复,在前面加上该提交消息是“[修正错误]
  • 如果它是一个新的功能,在前面加上该提交消息是“[专题]
  • 如果它是一个项目设置的变化,前面加上犯了一个消息,” [移动]

然后,一旦所有分支已合并到主分支(假设它是开发),结帐开发分支并使用git log --grep=<PATTERN>来标识特定的一组提交。

例如,如果你只需要bug修复承诺,做一个:

git log --grep="bugfix"

它会告诉你所有以“修正错误”提交信息的提交。

如果你只需要一个特定时间段提交,你可以使用--since=<date>选项:

git log --since="2017-06-01" --grep="bugfix"

如果你想有一个格式化列表(东西,你可以轻松地输出到一些排序的发行说明,我假设),你可以使用--format=<format>选项:

git log --since="2017-06-01" --grep="bugfix" --format="(%ci) %h : %s"

上面的命令会给你这样的事情:

(2017-06-18 18:26:36 +0800) 63f330f : [bugfix] prevent crash when dialog is sent to background 
(2017-07-01 10:03:40 +0800) cdcbd91 : [bugfix] remove extra row at the end of the list 

您可以从完整git log docs检查出other format options

基本上,它将全部取决于您的提交消息格式。
作为提示,您可以使用commit.template进行调查,以便更容易地设置提交消息的格式。当您提交

commit.template

如果将其设置为一个文件系统上的路径, Git会使用该文件作为默认的消息。对于 例如,假设你在~/.gitmessage.txt创建一个模板文件 看起来像这样:

subject line

what happened

[ticket: X]

相关问题