toftoiseGit日志-获取在给定日期后合并到分支上的所有提交



我有一个正在审核的应用程序。每个月,我都会被要求提交已部署到生产中的提交列表。

我有三个主要分支:master;UAT和PROD。开发是在主分支或特定分支中进行的,UAT有QA服务器中的代码,PROD有在生产中部署的代码。

有时,用户验收测试阶段需要超过一个月的时间(上一次在生产中部署是在六个月前开发的(,这就是我的问题开始的地方。

使用命令git log --pretty=format:"%h";"%an";"%ai";"%cn";"%ci";"%s" PROD --since='2022-01-01',我可以获得自1月1日以来提交的提交列表,但是,我无法获得已合并到PROD分支但在该日期之前提交的提交。

有没有一个简单的查询来获取自1月1日以来合并到PROD分支的提交的完整列表,而不管它们的提交日期如何?

TL;DR

不,Git不能为你做这件事。但也有解决办法。

详细信息

Git本身并不跟踪您要查找的信息。在一个分支的历史中,它无法知道在过去的任何一个特定日期它实际指向的是哪一个承诺。

可能的解决方案

如果你在开始约会之前就知道PROD在哪里,比如在OLDPROD,你可以使用

git log OLDPROD..PROD

因此,以下是我对OLDPROD可用方式的建议:

  • 由于您每月都在运行此报告,请保存上次运行报告时的提交PROD,以便下次运行报告时可以使用它
  • 如果你有一个一致和定期的工作流程,例如,每次合并到PROD都必须通过PR合并到PROD来完成,你可以检查日志,并在开始日期之前找到最近的合并:那就是OLDPROD
  • 根据你使用的Git服务器,它可能会保存推送操作的日志:在你开始日期之前,最后一次推送到PROD将是OLDPROD
  • 如果你一直在使用PR,那么Git服务器上的PR历史也应该提供足够的信息来推断OLDPROD

相关内容

  • 没有找到相关文章

最新更新