Skip to main content

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

About large files on GitHub

GitHub Enterprise Server limits the size of files you can track in regular Git repositories. Learn how to track or remove files that are beyond the limit.

About size limits on GitHub Enterprise Server

GitHub Enterprise Server limits the size of files allowed in repositories. If you attempt to add or update a file that is larger than 50 MB, you will receive a warning from Git. The changes will still successfully push to your repository, but you can consider removing the commit to minimize performance impact. For more information, see "Removing files from a repository's history."

Note: If you add a file to a repository via a browser, the file can be no larger than 25 MB. For more information, see "Adding a file to a repository."

By default, GitHub Enterprise Server blocks files larger than 100 MB. However, a site administrator can configure a different limit for your GitHub Enterprise Server instance. For more information, see "Setting Git push limits."

To track files beyond this limit, you must use Git Large File Storage (Git LFS). For more information, see "About Git Large File Storage."

If you need to distribute large files within your repository, you can create releases on your GitHub Enterprise Server instance instead of tracking the files. For more information, see "Distributing large binaries."

Git is not designed to handle large SQL files. To share large databases with other developers, we recommend using Dropbox.

Removing files from a repository's history

Warning: These procedures will permanently remove files from the repository on your computer and your GitHub Enterprise Server instance. If the file is important, make a local backup copy in a directory outside of the repository.

Removing a file added in the most recent unpushed commit

If the file was added with your most recent commit, and you have not pushed to your GitHub Enterprise Server instance, you can delete the file and amend the commit:

  1. 打开终端终端Git Bash
  2. 将当前工作目录更改为您的本地仓库。
  3. To remove the file, enter git rm --cached:
    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
  4. Commit this change using --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. Push your commits to your GitHub Enterprise Server instance:
    $ git push
    # Push our rewritten, smaller commit

Removing a file that was added in an earlier commit

If you added a file in an earlier commit, you need to remove it from the repository's history. To remove files from the repository's history, you can use the BFG Repo-Cleaner or the git filter-branch command. For more information see "Removing sensitive data from a repository."

Distributing large binaries

If you need to distribute large files within your repository, you can create releases on your GitHub Enterprise Server instance. Releases allow you to package software, release notes, and links to binary files, for other people to use. For more information, visit "About releases."