用git来保存exes和dll?

时间:2011-10-04 06:53:49

标签: git version-control release-management

我是版本控制的新手,所以请原谅这个问题是否非常基础。

根据我的理解,GIT是一个代码版本控件。我们开发了许多Windows应用程序,其最终版本是.exe或.dll文件。

我的问题很简单,如何处理exe和dll的最终版本?我们是否使用git存储库并在发布时将.exe / .dll文件与源代码保存在一起?或git不是管理最终.exe / .dll文件版本的正确工具,我们还需要其他东西吗?

其他组织如何处理这个问题?如果我们需要一些其他应用程序,那么处理代码版本控制和这些应用程序的最终版本的简单工作流程是什么?

3 个答案:

答案 0 :(得分:10)

你可以将它们存储在git中。但我不会将它们与源代码放在同一个存储库中。您希望该存储库快速。您可以通过子模块将exe / dll存储库链接到源代码库,并将它们绑定在一起。 (关于这一点的下面评论中的好点)

我通常不会那样费力地“版本化”它们,而是保留所有生产的工件的备份。

有些人喜欢使用git作为传递机制来将DLL和EXE移植到生产环境中。

希望这有帮助。

答案 1 :(得分:3)

不,版本控制软件通常不用于管理二进制文件。除非您在项目中使用外部库等,否则不要这样做。发布二进制文件通常存档在别处(并备份)。

从技术上讲,每次发布主要版本或修补程序版本时,都会标记版本控制中的源代码。如果存档的二进制文件丢失,您可以始终返回此状态并通过重新编译重新创建二进制文件。

答案 2 :(得分:2)

您可以尝试Git LFS

您只需保留指向它们的指针,而不是提交二进制文件。存储库本身保持轻量级。

使用Git LFS的其他步骤很少:

  • 下载并安装git lfs插件。确保git-lfs.exe在您的路径中。
  • 项目目录中的
  • git lfs install更新推送预挂钩。
  • git lfs track "*.dll"

就是这样。现在所有的dll文件都将存储在Git LFS中。

更多信息:https://git-lfs.github.com/