我在使用带有夜间构建的 git 时感到困惑。如果我们每天凌晨 12:01 克隆 repo,构建并测试它,那么我们如何保证每次都获得相同的构建?
第一种方法是标记构建。我们会拉标签并构建。问题是我们的系统到处都是标签。我们可以删除标签,但总有可能有人需要已删除的标签。
第二种方法是git rev-list
按日期/时间 git checkout。缺陷是更改集在提交时带有时间戳,而不是在推送时。因此,如果有人在 2013 年 7 月 30 日晚上 9 点提交(但没有推送),然后在 2013 年 7 月 31 日的第二天推送。正在做:
git checkout `git rev-list -n 1 --before="2013-07-31 0:01" master`
根据结帐是在推送之前还是之后完成,得到不同的结果。
我是误解了什么还是在 git 中有更好的方法来做到这一点?