Skip to main content

此版本的 GitHub Enterprise 已停止服务 2022-06-03. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

关于 GitHub 上的大文件

GitHub Enterprise Server 限制了可以在常规 Git 存储库中跟踪的文件大小。 了解如何跟踪或� 除超出限制的文件。

关于 GitHub Enterprise Server 的大小限制

GitHub Enterprise Server 限制存储库中允许的文件大小。 如果尝试添� 或更新大于 50 MB 的文件,您将从 Git 收到警告。 更改仍将成功推送到仓库,但您可以考虑� 除提交,以尽量减少对性能的影响。 更多信息请参阅“从仓库的历史记录中� 除文件”。

注:如果您通过浏览器将文件添� 到仓库,该文件不得大于 25 MB。 更多信息请参阅“添� 文件到仓库”。

默认情况下, GitHub Enterprise Server 阻止超过 100 MB 的推送。 但站点管理员可为您的 您的 GitHub Enterprise Server 实例 配置不同的限制。 更多信息请参阅“设置 Git 推送限制”。

要跟踪超出此限制的文件,必须使用 Git Large File Storage (Git LFS)。 更多信息请参阅“关于 Git Large File Storage”。

如果需要在存储库中分发大文件,则可以在 您的 GitHub Enterprise Server 实例 上创建版本,而不是跟踪文件。 更多信息请参阅“分发大型二进制文件”。

Git 不是为处理大型 SQL 文件而设计的。 要与其他开发者共享大型数据库,建议使用 Dropbox

从仓库的历史记录中� 除文件

警告:这些步骤将从您的计算机和 您的 GitHub Enterprise Server 实例 上的仓库中永久� 除文件。 如果文件很重要,请在仓库外部的目录中创建本地备份副本。

� 除在最近未推送的提交中添� 的文件

如果文件使用最近的提交添� ,而您尚未推送到 您的 GitHub Enterprise Server 实例,您可以� 除文件并修改提交:

  1. 打开 Terminal(终端)Terminal(终端)Git Bash
  2. 将当前工作目录更改为您的本地仓库。
  3. 要� 除文件,请输入 git rm --cached
    $ git rm --cached giant_file
    # Stage our giant file for removal, but leave it on disk
  4. 使用 --amend -CHEAD 提交此更改:
    $ git commit --amend -CHEAD
    # Amend the previous commit with your change
    # Simply making a new commit won't work, as you need
    # to remove the file from the unpushed history as well
  5. 将提交推送到 您的 GitHub Enterprise Server 实例:
    $ git push
    # Push our rewritten, smaller commit

� 除之前提交中添� 的文件

如果在之前的提交中添� 了文件,则需要将其从仓库历史记录中� 除。 要从仓库历史记录中� 除文件,可以使用 BFG Repo-Cleaner 或 git filter-branch 命令。 更多信息请参阅“从仓库中� 除敏感数据”。

分发大型二进制文件

如果需要在仓库内分发大型文件,您可以在 您的 GitHub Enterprise Server 实例 上创建发行版。 发行版允许您打包软件、发行说明和指向二进制文件的链接,以供其他人使用。 更多信息请参阅“关于发行版”。