【问题标题】:Download GitHub repo as zip on Windows, including CRLF在 Windows 上将 GitHub 存储库下载为 zip,包括 CRLF
【发布时间】:2023-01-12 06:27:41
【问题描述】:

因为我在 Windows 上使用 core.autocrlf,所以我提交并推送到 GitHub 的换行符从 CRLF -> LF 标准化,这很好。当我在 Windows 上克隆时,它们会转换回 LF -> CRLF。但是我想在没有安装 git 的 Windows 机器上将我的 repo 下载为 zip。现在 Windows 的换行符不正确。

有没有办法在没有安装 git 的情况下从 GitHub 下载文件,但仍然将 CRLF 添加回文件?

【问题讨论】:

  • 我没有解决方案,但这是 core.autocrlf 的主要问题:它是本地配置而不是存储库本身的一部分。这就是为什么我(和许多其他人)已经切换到通过 .gitattributes 专门配置行尾:该文件(就像 .gitignore)实际上是回购协议的一部分并且它的设置适用于任何地方(我怀疑它们也适用于 ZIP 导出,但还没有尝试过)。 stackoverflow.com/a/10855862/40342

标签: windows git github newline carriage-return


【解决方案1】:

当您从 GitHub 下载存档时,它实际上是使用 git archive 生成的。这意味着您在存档中得到的就是存储库中的内容,这意味着 Git 不执行 CRLF 转换。 GitHub 不提供调整此选项的选项,因为 Git 不提供此类选项。

您在存储库中使用 LF 并在工作树中使用 CRLF(如果您愿意的话)所做的是使用 Git 的正确方法,您应该继续这样做。

如果你想发布一个 zip 文件,其中包含行尾与回购不同的文件或回购中未包含的其他文件,然后在 GitHub 上创建一个发布并上传这样的存档作为发布资产。然后,您可以在存档中包含您想要的任何行尾或任何其他内容,并在没有存储库的情况下使用它。许多常见的项目正是这样做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 2018-07-04
    • 2017-02-03
    相关资源
    最近更新 更多