是否有一个命令允许我根据与当前提交的距离而不是使用提交ID签出提交?
用例
基本上,我正在考虑设置cron作业类型脚本,以便在构建服务器上执行以下操作:
下拉特定git分支的最新内容(git pull dev)。
构建它,运行测试。
如果通过百分比低于上次存储的百分比:
递归地返回一个提交、构建、运行测试,直到找到百分比发生变化的提交。
记录引入回归的提交。
我对这将如何结合在一起有一个大致的想法,但除非我能定期返回一个提交,否则它将无法工作。
如果没有特定的命令,我想我可以grep提交日志,每次都取第一个?
我很感激你的任何想法或帮助!
不同于:
How to undo last commit(s) in Git?
我想返回“n”个提交数。

最佳答案

git checkout HEAD~N

将在当前提交之前签出第n个提交。
如果您的历史记录中有合并提交,您可能对
git checkout HEAD^N

它将签出合并提交的第n个父级(大多数合并提交都有2个父级)。
因此,要始终在任何合并提交的第一个父级之后返回一个提交:
git checkout HEAD^1

您也可能对通过二进制搜索查找引入错误的更改感兴趣。

08-27 21:05
查看更多