git - Github 发布:如何将符号链接内容包含到源代码中?
问题描述
我们正在为我们的项目使用 Githubreleases
工具。
它工作得很好。Github 会自动生成源文件的存档。但是,我们必须windows symlinks
在源文件中的其他文件夹。
对于程序的某些部分,我们在项目之间使用共享源代码。这些在每台计算机上克隆一次,每个需要它的存储库都使用符号链接链接到这些存储库。
有没有办法强制 github 包含符号链接内容,而不是作为参考,而是作为Source code
存档中的深层副本?
我们希望确保我们可以在几年内再次编译程序并获得相同的二进制输出,即使公共代码库在此期间已经发展。
解决方案
不,你不能这样做。GitHub 本质上是git archive
在后台使用(尽管不能保证它会继续使用),它不会以任何方式取消引用符号链接。
即使git archive
支持取消引用符号链接,当 GitHub 归档它时,也无法知道指向工作树之外的符号链接应该去哪里。GitHub 不知道您如何在计算机上组织源代码。
如果要生成取消引用符号链接的档案,则需要执行以下操作(对于 GNU tar):
git ls-files | xargs tar -uvhf ../archive.tar
请注意-h
取消引用符号链接的选项。然后,您可以使用或您选择的压缩器压缩此存档,gzip
并将其作为发布资产上传,无论是手动还是使用 API。
推荐阅读
- javascript - 最好和最简单的方法是保护登录表单
- youtube - 使用 python 在 youtube 的结果中自动播放第一个视频
- javascript - 在 jquery 变量中获取 PHP 字符串
- firebase - 无法根据 Firebase 中的资源数据建立安全规则条件
- javascript - 我使用了 w3schools 的现成设计。我想添加过渡
- c# - 如何将 ConsoleWrite 更改为标签文本
- c++ - C++ 从 *.txt 文件读取数据到结构向量
- c++ - 如何使用传递引用 C++ 将 2D 向量传递给函数
- java - 如何从任何格式的 URL 播放视频
- android - Android Retrofit:带有大括号“{}”的 URL 导致错误