返回 Git 中的 N 个提交以查找导致测试回归的提交

2024-04-13

是否有一个命令可以让我根据与当前提交的距离而不是使用提交 ID 来签出提交?

Use Case

基本上我正在考虑设置一个 cron 作业类型脚本来在构建服务器上执行以下操作:

  • 拉取特定 git 分支的最新版本 (git pull dev)。
  • 构建它,运行测试。
  • If the pass percentage is lower than the last stored percentage:
    • 递归地返回提交、构建、运行测试,直到找到百分比发生变化的提交。
    • 记录引入回归的提交。

我对如何将其结合在一起有一个粗略的想法,但除非我可以定期返回一个提交,否则它不会起作用。

如果没有特定的命令,我想我可以 grep 提交日志并每次获取第一个命令?

我很感激任何想法或帮助!

Unlike: 如何在 Git 中撤消最后一次提交? https://stackoverflow.com/questions/927358/how-to-undo-last-commits-in-git

我想返回“N”次提交。


git checkout HEAD~N

将在当前提交之前签出第 N 个提交。

如果您的历史记录中有合并提交,您可能会对

git checkout HEAD^N

这将检查合并提交的第 N 个父级(大多数合并提交有 2 个父级)。

因此,要始终返回任何合并提交的第一个父级之后的一个提交:

git checkout HEAD^1

您也可能对。。。有兴趣git bisect- 通过二分搜索查找引入错误的更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 Git 中的 N 个提交以查找导致测试回归的提交 的相关文章

随机推荐