Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.
В настоящее время GitHub AE находится в ограниченном выпуске.

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

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

Сведения об ограничениях размера на GitHub AE

На GitHub AE допустимый размер файлов в репозиториях ограничен. При попытке добавить файл размером более 50 MБ или увеличить существующий файл сверх этого размера GIT выдаст предупреждение. Изменения будут успешно отправлены в репозиторий, но, возможно, будет лучше удалить фиксацию, чтобы свести к минимуму влияние на производительность. Дополнительные сведения см. в разделе Удаление файлов из журнала репозитория.

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

GitHub AE блокирует файлы размером более 100 МБ.

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

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

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

Ограничения на размер репозиториев

Рекомендуется, чтобы репозитории оставались небольшими, в идеале менее 1 ГБ, и крайне нежелательно, чтобы их размер превышал 5 ГБ. Максимальный размер репозитория в GitHub AE составляет 100 ГБ. Небольшие репозитории быстрее клонируются и проще работать и обслуживать. Если ваш репозиторий чрезмерно влияет на нашу инфраструктуру, вы можете получить сообщение электронной почты от Поддержка GitHub с просьбой принять корректирующие меры. Мы стараемся находить гибкий подход, особенно в случае с крупными проектами со множеством участников совместной работы. По возможности мы попробуем вместе с вами найти решение. Вы можете предотвратить воздействие репозитория на нашу инфраструктуру, эффективно управляя его размером и общей работоспособностью. Советы и средство для анализа репозиториев можно найти в репозитории github/git-sizer.

Из-за внешних зависимостей репозитории GIT могут стать очень большими. Чтобы избежать заполнения репозитория внешними зависимостями, рекомендуется использовать диспетчер пакетов. К популярным диспетчерам пакетов для распространенных языков относятся Bundler, диспетчер пакетов Node и Maven. Эти диспетчеры пакетов поддерживают работу с репозиториями GIT напрямую, поэтому предварительно упакованные источники не нужны.

GIT не предназначен для использования в качестве средства резервного копирования. Однако существует множество решений, специально предназначенных для создания резервных копий, такие как Arq, Carbonite и CrashPlan.

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

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

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

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

  1. Откройте ТерминалТерминалGIT Bash. 1. Измените текущий рабочий репозиторий на локальный проект.
  2. Чтобы удалить файл, введите команду git rm --cached:
    $ git rm --cached GIANT_FILE
    # Stage our giant file for removal, but leave it on disk
  3. Зафиксируйте это изменение с помощью параметров --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
  4. Отправьте фиксации в ваше предприятие:
    $ git push
    # Push our rewritten, smaller commit

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

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

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

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