chr*_*989 13 git automation git-commit
是否有一个命令可以让我根据它与当前提交的距离而不是使用提交ID来签出提交?
基本上我正在考虑设置一个cron作业类型脚本来在构建服务器上执行以下操作:
我对这将如何合在一起有一个粗略的想法,但除非我能定期返回一个提交,否则它将无法工作.
如果没有特定的命令,我想我可以grep提交日志,每次都拿第一个?
我感谢任何想法或帮助!
不像: 如何撤消Git中的最后一次提交?
我想回去"N"次提交.
Pet*_*ren 22
git checkout HEAD~N
Run Code Online (Sandbox Code Playgroud)
将在您当前提交之前签出第N个提交.
如果您的历史记录中有合并提交,那么您可能会感兴趣
git checkout HEAD^N
Run Code Online (Sandbox Code Playgroud)
这将检出合并提交的第N个父级(大多数合并提交有2个父级).
因此,要始终返回任何合并提交的第一个父级之后的一个提交:
git checkout HEAD^1
Run Code Online (Sandbox Code Playgroud)
您可能还有兴趣git bisect- 通过二进制搜索查找引入错误的更改.
gcb*_*son 10
如果提交的数量远远大于引入错误的提交数量,则迭代每次提交并运行测试可能效率很低.没有必要针对历史记录中的每个提交运行测试,以找到引入错误的那个!你应该git bisect特别注意git bisect run.
问题表明,您希望找到引入错误的每个提交,因为历史记录中的某些点,而不仅仅是最近引入的错误.我不认为你可以通过一次调用来做到这一点git bisect; 你必须把它放在一个小脚本的循环中.