【发布时间】:2015-01-15 00:21:18
【问题描述】:
我想浏览一系列提交并在每个提交上执行一个 shell 命令。如果命令失败,我希望步行停止,否则继续前进。我看过filter-branch,但我不想重新编写提交,只需检查它们即可。 for-each-ref 似乎不允许您指定要操作的范围。
我的具体问题是我创建了一堆提交,我想确保每个提交都是可构建的。我想做类似的事情:
git foreach origin/master..master 'git submodule update && make clean && make'
我当然可以编写一个 shell 脚本来执行此操作,但这似乎是 git 可能有一个不错的方法。
【问题讨论】:
-
你考虑过使用 Python 吗?也许 GitPython 可能是一个解决方案。查看此帖子:stackoverflow.com/questions/1456269/…
-
您是否知道 origin/master 是好的而 master 是坏的(或相反),或者您只是想测试它们之间的所有内容而不知道在任何特定位置存在故障?
-
@CharlesDuffy,后者。我从一个工作点开始,做了很多有效的改变。然后我从一堆未提交的工作更改中进行了几次细粒度的提交,并希望确保所有中间提交都是可构建的。