Skip to main content

Вилки

Узнайте, как вилки обеспечивают независимую совместную работу, создавая отдельные репозитории, подключенные к исходному объекту, с различными параметрами и разрешениями.

Вилки — это репозитории, начинающиеся как копии другого репозитория, называемые вышестоящим репозиторием. У вилки есть собственные параметры и разрешения, но он остается подключенным к вышестоящему репозиторию.

При просмотре вилированного репозитория GitHubв вышестоящем репозитории указывается под именем вилки.

Что делает вилки отличными от ветвей

Ветвь является частью одного репозитория. Вилка — это отдельный репозиторий с собственными параметрами и пространством для совместной работы.

Каждая вилка может иметь собственный:

  • Филиалы
  • Члены и обсуждения
  • Проблемы и запросы на вытягивание
  • Действия и проекты
  • Теги, метки и вики-сайты

Какие репозитории можно вилировать?

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

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

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

См. раздел AUTOTITLE и Применение политик управления репозиториями в организации.

Видимость вилок

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

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

Удаление репозитория или изменение видимости может повлиять на сеть. При удалении вилки вклады кода из этого вилки могут оставаться доступными для сети репозитория.

Что происходит с вилками при удалении репозитория или изменении видимости

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

  • При удалении доступа пользователя к частному репозиторию также удаляются все вилки этого частного репозитория, созданные этим пользователем. Сохраняются локальные клоны частного репозитория. Если доступ команды к частному репозиторию отменяется или команда с доступом к частному репозиторию удаляется, а члены группы не имеют доступа к репозиторию через другую команду, частные вилки репозитория будут удалены.
  • Если синхронизация LDAP включена, то при удалении из репозитория пользователь теряет доступ, но его вилки сохраняются. Если пользователь добавляется в команду с доступом к исходному репозиторию организации в течение трех месяцев, их доступ к вилкам будет автоматически восстановлен в следующей синхронизации.
  • Вы несете ответственность за то, чтобы пользователи, которые потеряли доступ к репозиторию, удалили любую конфиденциальную информацию или интеллектуальную собственность.
  • Пользователи с разрешениями администратора для частного или внутреннего репозитория могут запретить вилку этого репозитория, а владельцы организации могут запретить вилку любого частного или внутреннего репозитория в организации. Дополнительные сведения см. в разделе [AUTOTITLE и Управление политикой ветвления для вашей организации](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository).

Изменения видимости могут разделять в новые сети репозитория, чтобы существующие владельцы вилок могли работать без непредвиденной потери доступа.

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

Изменение общедоступного репозитория на частный также может повлиять на звезды, наблюдатели, граф Dependabot alertsзависимостей и code scanning доступность. Внимательно просмотрите параметры видимости репозитория перед их изменением.

Если в общедоступном репозитории включен анонимный доступ на чтение Git, а репозиторий является закрытым, все вилки репозитория теряют анонимный доступ на чтение Git и возвращаются к отключенным параметрам по умолчанию. Если вилки репозитория становятся общедоступными, администраторы репозитория могут повторно включить анонимный доступ на чтение GIT. См . раздел AUTOTITLE.

Разрешения для вилок

Частные вилки наследуют структуру разрешений вышестоящего репозитория. Это помогает владельцам частных репозиториев контролировать свой код. Например, если вышестоящий репозиторий является частным и предоставляет доступ для чтения/записи команде, то у той же команды будет доступ для чтения/записи к любым вилкам частного вышестоящего репозитория. Частные вилки наследуют только разрешения команды (а не отдельные разрешения).

Примечание.

При изменении базовых разрешений для организации разрешения для частных форков не обновляются автоматически. Дополнительные сведения см. в разделе Настройка базовых разрешений для организации.

Общедоступные вилки не наследуют структуру разрешений вышестоящего репозитория. Владельцы вилки управляют доступом к своим вилкам, но сети репозитория по-прежнему совместно используют данные Git. Фиксации, отправленные в любой репозиторий в сети, могут быть доступны из других репозиториев в этой сети, включая вышестоящий репозиторий.

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

Отправка наборов правил для вилированных репозиториев

Правила отправки применяются ко всей сети вилки для репозитория, обеспечивая защиту каждой точки входа в репозиторий. Например, если вы вилку репозитория с включенными наборами правил push-уведомлений, то те же наборы правил push-уведомлений также будут применяться к вашему вилку репозитория.

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

См . раздел AUTOTITLE.

Важные вопросы безопасности

Вилки являются мощными средствами совместной работы, но они могут предоставлять код и журнал способами, которые легко игнорировать.

  • Вилки имеют свои собственные разрешения, отдельные от вышестоящего репозитория.
  • Владельцы вышестоящего репозитория могут считывать все вилки в сети репозитория.
  • Владельцы организации могут иметь административный доступ к форкам, созданным в личных пространствах имен.
  • Удаление доступа к вышестоящему репозиторию не всегда удаляет вилки в других организациях.
  • Фиксации могут оставаться доступными в сети репозитория даже после удаления вилки.

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

Вилки в организации

Вилки в одной организации копируют параметры совместной работы и команды из вышестоящего репозитория. Организация управляет разрешениями для этих вилок, а существующие видимые команды могут поддерживать доступ.

Вилки в пределах предприятия

Внутренние репозитории поддерживают единый уровень вилки. Вы не можете вилку закрытого вилки внутреннего репозитория. Это упрощает доступ и управление для репозиториев, видимых в организации.