【发布时间】:2016-10-05 06:16:51
【问题描述】:
Make、ant、msbuild……我所知道的所有构建工具都会比较人工制品时间戳来决定是否需要重建。
在签出任何版本时,Git 会将源文件时间戳重置为“现在”,以告知构建系统:应该重建依赖于这些文件的人工制品。
但是:
$ git checkout old_version # retrieving a.cpp@old_version
$ make # building a.out from a.cpp
$ git checkout new_version # updating a.cpp@new_version
$ git checkout - # resetting a.cpp@old_version
$ make # ...
如果只有 make 可以确定 a.out 是使用 old_version 构建的,则可能相当于无操作。
有没有办法做到这一点?你知道有什么构建系统/版本控制系统可以这样配合吗?
【问题讨论】:
-
也许
post-checkout钩子可以提供帮助。
标签: git makefile version-control msbuild build-system