您如何在源代码管理中存储您在项目中使用的第三方库?
您什么时候将二进制文件存储在源代码管理中?
您什么时候将代码存储在源代码管理中?
你会同时存储两者吗?在什么情况下你会这样做?
(顺便说一句,我正在使用 .NET 但对于这个问题并不重要)
最佳答案
对于测试和生产环境,这也意味着你自己的产品(你正在构建的打包结果)也应该进入你的 SCM(只有官方版本,而不是内部使用的中间版本)。
如果其他项目依赖于您的产品,他们将根据您存储在 SCM 中的打包版本构建自己的项目,而不是根据他们以某种方式重新编译的源代码。
为什么这很重要?
因为最终,将在生产中运行的是您产品的打包版本,而不是您的“重新编译的源代码”。因此,使用产品的目标最终形式进行所有测试的重要性,在您的 SCM 中清楚地存储和标记。
Martin Lazar在 his answer 中提出了一个合理的观点
Source control is called "source" control, because it is supposed to control sources.
虽然这在历史上可能是正确的,但每个当前的 RCS 都已向 SCM (Source Code Management) 发展,它不仅控制源,还管理对存储为计算机文件的文档、程序和其他信息的更改。
然后可以存储二进制文件(甚至用二进制增量存储)
另外,允许其中一些 SCM 提出 S"C"M 功能(如 Source Configuration Management )。
该 SCM(配置)不仅存储任何类型的“文件集”,还存储这些文件集之间的关系(又名依赖关系),以便您查询一组文件,并“拉取”其他所有交付该集合取决于(构建或部署或运行)
关于version-control - 您如何在源代码管理中存储第三方库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735699/