Skip to main content

Эта версия GitHub Enterprise Server будет прекращена 2026-08-25. Снятые релизы не поддерживаются. Исправления выпускаться не будут даже при критических проблемах безопасности. Для лучшей производительности, повышения безопасности и новых функций GitHub Enterprise Server см. Обзор процесса обновления. Для помощи с обновлением обращайтесь в GitHub Enterprise Support.

Сведения о больших файлах на GitHub

GitHub ограничивает размер файлов, которые можно отслеживать в обычных Git-репозиториях. Узнайте, как отслеживать или удалять файлы, выходящие за пределы лимита.

Platform navigation

О ограничениях размера на GitHub

GitHubстарается файлов и репозиториев, а также рекомендации по размеру репозиториев.

Ограничения размера файла

GitHub ограничивает размер файлов, разрешённых в репозиториях. Если вы попытаетесь добавить или обновить файл больше 50 МиБ, вы получите предупреждение от Git. Изменения будут успешно отправлены в репозиторий, но, возможно, будет лучше удалить фиксацию, чтобы свести к минимуму влияние на производительность. Дополнительные сведения см. в статье об удалении файлов из журнала репозитория.

Примечание.

Если добавить файл в репозиторий через браузер, он не может быть больше 25 МиБ. Дополнительные сведения см. в разделе Добавление файла в репозиторий.

По умолчанию GitHub Enterprise Serverблокирует файлы больше .100 МиБ Однако администратор сайта может настроить другое ограничение для ваш экземпляр GitHub Enterprise Server. Для получения дополнительной информации см. Применение политик управления репозиториями в организации.

Чтобы отслеживать файлы, выходящие за пределы этого лимита, необходимо использовать Хранилище больших файлов Git (Git LFS (Git Large File Storage — поддержка хранения больших файлов в Git)). Дополнительные сведения см. в разделе Сведения о хранилище больших файлов Git Large File Storage.

Если вам нужно распространять большие файлы внутри репозитория, вы можете создавать релизы вместо ваш экземпляр GitHub Enterprise Server отслеживания файлов. Дополнительные сведения см. в разделе "Распространение больших двоичных файлов".

В GIT не предусмотрена обработка больших файлов SQL. Чтобы совместно использовать большие базы данных с другими разработчиками, рекомендуется использовать службу общего доступа к файлам.

Рекомендации по размеру репозитория

Рекомендуется, чтобы репозитории оставались небольшими, в идеале менее 1 ГБ, и крайне нежелательно, чтобы их размер превышал 5 ГБ. Небольшие репозитории быстрее клонируются и проще в работе и поддержке.

Вы можете предотвратить влияние репозитория на инфраструктуру, эффективно управляя размером и общим состоянием репозитория. Вы можете найти советы и инструмент для анализа репозитория в репозитории github/git-sizer .

Удаление файлов из журнала репозитория

Предупреждение

Эти процедуры навсегда удалят файлы из репозитория вашего компьютера и ваш экземпляр GitHub Enterprise Server. Если файл важен, создайте его локальную резервную копию в каталоге за пределами репозитория.

Удаление файла, добавленного в рамках последней неотправленной фиксации

Если файл был добавлен с вашим последним коммитом, и вы не отправили в ваш экземпляр GitHub Enterprise Server, вы можете удалить файл и изменить коммит:

  1. Откройте ТерминалТерминал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
    

Удаление файла, добавленного в рамках более ранней фиксации

Если вы добавили файл в рамках предыдущей фиксации, его необходимо удалить из журнала репозитория. Чтобы удалить файлы из журнала репозитория, рекомендуется git filter-repo выполнить команду. Дополнительные сведения см. в разделе Удаление конфиденциальных данных из репозитория.

Кроме того, если вы не хотите установить дополнительное средство, можно использовать интерактивную перебазу для удаления проблемных фиксаций. Для этого:

  • Необходимо знать, какие фиксации добавлены или изменены в этом файле.
  • Фиксации должны быть частью только одной ветви.
  • Одна ветвь, к которой принадлежат фиксации, не должна иметь слияний, так как были применены фиксации.

Дополнительные сведения об интерактивных перебазах см. в разделе Перемещений изменений из одной ветви в другую в GIT в командной строке. Если вы не уверены в соответствии с необходимыми условиями для исправления с помощью интерактивной повторной базы, следует использовать git filter-repo.

Распространение больших двоичных файлов

Если вам нужно распространять большие файлы в репозитории, вы можете создавать релизы на ваш экземпляр GitHub Enterprise Server. Выпуски позволяют упаковывать программное обеспечение, заметки о выпуске и ссылки на двоичные файлы для использования другими людьми. Дополнительные сведения см . в AUTOTITLE.