作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
人类编写源代码
版本控制用于记录源代码的变化
工具 处理源代码并生成机器可读的内容(exec、libs、GUI 代码等)
每隔一段时间,我想保存一份工具输出的副本(例如,为 ARM 保存 beta 版的可执行文件)。我可以手动保存工具的输出,给它一个反射(reflect)修订控制历史记录点的名称(例如使用标签名称)。这看起来很尴尬而且容易出错。
我希望您能深入了解两件事:
使用修订控制将工具生成的输出存储在修订历史图表中的特定位置的优点/缺点是什么?您使用哪些非 RCS 工具作为替代?
在 mercurial、git 中,将工具生成的输出包含在特定修订而不是其他修订中的最佳方式是什么
最佳答案
我认为二进制文件不应与其源代码一起存储在版本控制中。
缺点:
svn update
将更新您的二进制文件的时间戳,混淆您的构建工具,它们会错误地认为二进制文件比您的源代码更改更新。一般来说,我认为您应该避免提交任何从其他版本化资源以确定性方式自动生成的内容。没有冗余 -> 没有不一致的机会。
相反,使用持续集成服务器在每次提交时自动重建(并运行测试)。如有必要,让此构建服务器将二进制文件发布到某处(SVN 外部),例如网络上的共享文件夹。
关于git - 征求意见 : revision control and binaries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237021/
我是一名优秀的程序员,十分优秀!