【发布时间】:2015-09-25 15:18:01
【问题描述】:
在这个现实世界中,有没有一种(相对简单的)方法只获取release(最左边,用红框标记)分支上的星号 (*) 对应的提交提交历史的例子?
给定的一组提交都是高风险的提交(即公开的提交)。 release(和/或master)分支上只能有两种提交:
- 实际版本(通常标记,大合并)
- 修补程序(通常是未标记的小合并)
我的目标:我想创建使用这些提交的统计数据和小型分析工具,以帮助我们(尤其是我们的开发人员)更好地了解高风险代码区域和可能的错误模式。我也相信这最终可以用来帮助我们更好地估计公司的风险并评估 QA 效率。
有什么建议吗?
PS:这张图是用git log --oneline --decorate --graph创建的,但是我删掉了里面所有的敏感信息。
【问题讨论】:
-
您写道:[...] 只获得提交 [...]。您的意思是“获取日志”的相应修订吗?这可能有效:
git log --first-parent release. -
@Jubobs
first-parent太棒了!据我了解,它应该在我们当前的工作环境中工作,但也许我忽略了一些东西。是否有任何可怕的情况会停止工作(考虑到我们继续理智地对待我们的 git,不要重命名分支等)?回答您的问题:获取所有提交哈希的任何方式都可以! :) -
好吧,假设您和您的合作者只会将其他分支合并到
release(而不是将release合并到其他分支),@ 987654331@ 应该做你想做的事。如果您只需要提交哈希列表(rev-list是log的管道类似物),则可以使用git rev-list --first-parent。
标签: git