Работа с ответвлениями (forks) в SourceCraft

Ответвления (forks) — это механизм, с помощью которого вы можете создавать собственную изолированную копию другого репозитория. Ответвление включает весь код, историю коммитов и основную ветку или все ветки и теги оригинального репозитория.

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

Подробнее см. в подразделе Ответвления (forks) ![image](../../_assets/console-icons/code-fork.svg).

Создать ответвление

Примечание

Для создания ответвления требуются права на чтение репозитория-оригинала. Если вы создаете ответвление от ответвления, то у вас должны быть права на чтение для всех репозиториев из цепочки. Подробнее см. на странице Управление доступом в SourceCraft.

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Исследовать перейдите в раздел Репозитории.

  3. Выберите репозиторий, ответвление от которого вы хотите создать.

  4. В правом верхнем углу нажмите Ответвить.

  5. На открывшейся странице в блоке Детали вашего нового репозитория задайте параметры репозитория-ответвления:

    • В поле Владелец выберите организацию, в которой будет создан репозиторий.

    • В поле Название укажите название репозитория.

      Название должно быть уникальным в пределах организации и может содержать следующие ASCII-символы: строчные и заглавные буквы латинского алфавита, цифры, запятые, дефисы и подчеркивания.

      Под названием отображается адрес, по которому репозиторий будет доступен.

    • (опционально) В поле Описание укажите описание репозитория.

  6. Выберите, переносить ли в ответвление только основную ветку оригинального репозитория или все ветки и теги.

  7. Нажмите Создать ответвление.

Внести изменения в оригинальный репозиторий

  1. Склонируйте репозиторий-ответвление:

    1. Установите Git.

    2. Откройте главную страницу SourceCraft.

    3. На вкладке Домой перейдите в раздел Репозитории и выберите репозиторий.

    4. В правом верхнем углу нажмите кнопку Клонировать.

    5. В зависимости от способа подключения скопируйте ссылку для клонирования репозитория.

    6. В терминале выполните команду:

      git clone <ссылка_для_клонирования_репозитория>
      
    7. Перейдите в склонированный репозиторий:

      cd <имя_репозитория>
      
  2. Создайте новую ветку для изменений и отправьте ее в удаленный репозиторий-ответвление:

    git checkout -b new-feature
    git push -u origin new-feature
    
  3. Внесите изменения в файлы репозитория-ответвления, добавьте их в индекс git, сделайте коммит и отправьте изменения в удаленный репозиторий-ответвление:

    git add .
    git commit -m "added new feature"
    git push origin new-feature
    
  4. Создайте пул-реквест из ветки репозитория-ответвления в ветку репозитория-оригинала:

    1. На странице репозитория-ответвления в разделе Код перейдите в секцию Предложения изменений.

    2. В правом верхнем углу нажмите Предложить изменения.

    3. В блоке источник в списке источник выберите ветку репозитория-ответвления, изменения из которой вы хотите добавить.

    4. В блоке цель:

      • В списке репозиторий выберите репозиторий-оригинал.
      • В списке цель выберите ветку, в которую вы хотите добавить изменения.
    5. Введите название пул-реквеста.

    6. (опционально) Подробно опишите, какие изменения вносятся в пул-реквесте.

    7. (опционально) Посмотрите вносимые изменения:

      • На вкладке Изменённые файлы отображается список измененных файлов, а также вносимые изменения в формате .diff.

        Чтобы посмотреть изменения в формате «было — стало», нажмите .

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

      • На вкладке Изменения отображается история коммитов в ветке, изменения из которой вы хотите добавить.

    8. (опционально) В блоке Рецензенты выберите пользователей, которые будут проверять пул-реквест.

    9. Нажмите Опубликовать предложение изменений.

      Также вы можете не создавать пул-реквест, а сохранить его черновик, чтобы доработать позже. Для этого нажмите Сохранить как черновик.

Примечание

CI/CD-процессы в пул-реквесте из ветки репозитория-ответвления в ветку репозитория-оригинала могут быть запущены только пользователем с ролью Organization owner в организации, которой принадлежит репозиторий-оригинал. Автоматический запуск CI/CD в таких пул-реквестах отключен.

Посмотреть ответвления репозитория

  1. Откройте главную страницу SourceCraft.
  2. На вкладке Исследовать перейдите в раздел Репозитории.
  3. Выберите репозиторий, ответвление от которого вы хотите посмотреть.
  4. В блоке под описанием репозитория будет отображаться строка с количеством ответвлений, например 3 ответвления. Чтобы перейти к списку ответвлений, нажмите на эту строку.

См. также