Работа с ответвлениями (forks) в SourceCraft
Ответвления (forks) — это механизм, с помощью которого вы можете создавать собственную изолированную копию другого репозитория. Ответвление включает весь код, историю коммитов и основную ветку или все ветки и теги оригинального репозитория.
Основное предназначение ответвлений — упрощение процесса внесения изменений в чужие проекты, в том числе Open Source. Вы можете свободно экспериментировать, добавлять новые функции или исправлять ошибки, а затем предлагать свои изменения в основной проект с помощью пул-реквестов.
Подробнее см. в подразделе Ответвления (forks) .
Создать ответвление
Примечание
Для создания ответвления требуются права на чтение репозитория-оригинала. Если вы создаете ответвление от ответвления, то у вас должны быть права на чтение для всех репозиториев из цепочки. Подробнее см. на странице Управление доступом в SourceCraft.
-
Откройте главную страницу SourceCraft.
-
На вкладке
-
Выберите репозиторий, ответвление от которого вы хотите создать.
-
В правом верхнем углу нажмите
-
На открывшейся странице в блоке Детали вашего нового репозитория задайте параметры репозитория-ответвления:
-
В поле Владелец выберите организацию, в которой будет создан репозиторий.
-
В поле Название укажите название репозитория.
Название должно быть уникальным в пределах организации и может содержать следующие ASCII-символы: строчные и заглавные буквы латинского алфавита, цифры, запятые, дефисы и подчеркивания.
Под названием отображается адрес, по которому репозиторий будет доступен.
-
(опционально) В поле Описание укажите описание репозитория.
-
-
Выберите, переносить ли в ответвление только основную ветку оригинального репозитория или все ветки и теги.
-
Нажмите Создать ответвление.
Внести изменения в оригинальный репозиторий
-
Склонируйте репозиторий-ответвление:
-
Откройте главную страницу SourceCraft.
-
На вкладке
-
В правом верхнем углу нажмите кнопку
-
В зависимости от способа подключения скопируйте ссылку для клонирования репозитория.
-
В терминале выполните команду:
git clone <ссылка_для_клонирования_репозитория>
-
Перейдите в склонированный репозиторий:
cd <имя_репозитория>
-
Создайте новую ветку для изменений и отправьте ее в удаленный репозиторий-ответвление:
git checkout -b new-feature git push -u origin new-feature
-
Внесите изменения в файлы репозитория-ответвления, добавьте их в индекс
git
, сделайте коммит и отправьте изменения в удаленный репозиторий-ответвление:git add . git commit -m "added new feature" git push origin new-feature
-
Создайте пул-реквест из ветки репозитория-ответвления в ветку репозитория-оригинала:
-
На странице репозитория-ответвления в разделе
-
В правом верхнем углу нажмите Предложить изменения.
-
В блоке источник в списке источник выберите ветку репозитория-ответвления, изменения из которой вы хотите добавить.
-
В блоке цель:
- В списке репозиторий выберите репозиторий-оригинал.
- В списке цель выберите ветку, в которую вы хотите добавить изменения.
-
Введите название пул-реквеста.
-
(опционально) Подробно опишите, какие изменения вносятся в пул-реквесте.
-
(опционально) Посмотрите вносимые изменения:
-
На вкладке
.diff
.Чтобы посмотреть изменения в формате «было — стало», нажмите
Чтобы посмотреть все файлы в ветке, изменения из которой вы хотите добавить, нажмите Полное дерево.
-
На вкладке
-
-
(опционально) В блоке Рецензенты выберите пользователей, которые будут проверять пул-реквест.
-
Нажмите Опубликовать предложение изменений.
Также вы можете не создавать пул-реквест, а сохранить его черновик, чтобы доработать позже. Для этого нажмите Сохранить как черновик.
-
Примечание
CI/CD-процессы в пул-реквесте из ветки репозитория-ответвления в ветку репозитория-оригинала могут быть запущены только пользователем с ролью Organization owner в организации, которой принадлежит репозиторий-оригинал. Автоматический запуск CI/CD в таких пул-реквестах отключен.
Посмотреть ответвления репозитория
- Откройте главную страницу SourceCraft.
- На вкладке
- Выберите репозиторий, ответвление от которого вы хотите посмотреть.
- В блоке под описанием репозитория будет отображаться строка с количеством ответвлений, например