与我的源代码的 git 存储库并行,我还希望有一种方法来访问构建的历史记录。果然,我可以手动创建文件/目录 à la 67b75589ba57b90e83f9b9a121f8c4b61d0ea897.exe
(或使用相对于最新标签的命名系统),但这很不愉快。一个不错的选择是第二个 git 存储库(是的,我知道 git 不是二进制文件的最佳选择,但它们很小,仍然可以有一个浅克隆),它具有相同的提交消息,但只包含二进制文件。
为了明确我的意思,假设有一个源文件source.c
,它编译成application.exe
,并且源存储库的提交 67b75589ba57b90e83f9b9a121f8c4b61d0ea897 修改source.c
为提交消息“已修复问题 #5123”。然后并行存储库应该尽可能自动地包含一个带有新提交的新提交application.exe
和一条提交消息“fixed issue #5123”(可能另外引用原始提交 ID)。
我可能会通过一个 post-commit 钩子来实现这一点,该钩子运行编译(在失败时中止并发出警告),提取最新的提交 ID 和消息并将二进制文件提交到单独的存储库。但也许你可以提出一个更好的解决方案——它不必使用 git,但是通过git bisect
(使用预编译的二进制文件加速)的潜在支持回归测试可能会超过 git 的次优二进制支持......