我试图找出7月1日之后哪个提交引入了问题。如果我跑:
git log --since 2015-07-01 stable-branch
我将在7月1日之后看到stable-branch
中发现的提交。但是我不会看到7月1日之前撰写的提交并在7月1日之后合并,尽管它们很可能是导致错误的原因。
例如,如果有:
$ git log --graph --format='%aD %s' 'c7ebf96a9a4a6143b112c8606d5ee346fb800cec^1..c7ebf96a9a4a6143b112c8606d5ee346fb800cec'
* Wed, 8 Jul 2015 15:36:38 +0200 Merge pull request #4862 from SUSE/wip-11874-hammer
* Wed, 3 Jun 2015 13:13:33 +0200 rgw: Do not enclose the Bucket header in quotes
添加--since 2015-07-01
只会显示合并提交,而不会显示提交本身:
$ git log --since 2015-07-01 --graph --format='%aD %s' 'c7ebf96a9a4a6143b112c8606d5ee346fb800cec^1..c7ebf96a9a4a6143b112c8606d5ee346fb800cec'
* Wed, 8 Jul 2015 15:36:38 +0200 Merge pull request #4862 from SUSE/wip-11874-hammer
虽然提交是在6月3日撰写的,但它在7月1日之后在stable-branch
合并。
git-log
是否有一组选项可以显示在给定日期之后可从stable-branch
到达的提交?
更新:以下代码段完全符合我的需要。虽然它很难记住,但有一个更简单的解决方案会很好。
git log --merges --since 2015-09-01 --until 2015-09-11 --format='%H' stable-branch | while read sha1 ; do echo ------------------------------------ ; git log --format='%aD %s' ${sha1}^1..${sha1} ; done