О вилках
Вилка — это новый репозиторий, который совместно использует параметры кода и видимости с исходным "вышестоящим" репозиторием. Вилки часто используются для итерации идей или изменений, прежде чем они будут предложены в вышестоящем репозитории, например в проектах открытый код или когда у пользователя нет доступа на запись в вышестоящий репозиторий. Дополнительные сведения см. в разделе Работа с вилками.
Предложение изменений в проект другого пользователя
Вилки можно использовать, например, для предложения изменений, призванных исправить ошибку. Вместо регистрации проблемы для обнаруженной ошибки можно выполнить указанные ниже действия.
- Создайте вилку репозитория.
- Внесите исправление.
- Отправьте запрос на вытягивание владельцу проекта.
Использование чужого проекта в качестве отправной точки для реализации собственной идеи
Программное обеспечение с открытым кодом строится на той идее, что, предоставляя общий доступ к коду, мы можем создавать более надежное и эффективное ПО. Дополнительные сведения см. в этом разделе на сайте Open Source Initiative.
Дополнительные сведения о применении принципов открытый код к работе по разработке в вашей организации в экземпляр GitHub Enterprise Server см. в техническом документе GitHub "Введение в innersource".
При создании общедоступного репозитория из вилки чужого проекта обязательно включите файл лицензии, определяющий способ совместного использования проекта с другими пользователями. Дополнительные сведения см. в разделе о выборе лицензии для открытого кода на сайте choosealicense.com.
Дополнительные сведения о продуктах с открытым кодом, особенно о создании и развитии проекта с открытым кодом, мы создали руководства по продуктам с открытым кодом, которые помогут создать работоспособный открытый код сообщества, формируя практические рекомендации по созданию и обслуживанию репозиториев для проекта с открытым кодом. Вы также можете пройти бесплатный курс GitHub Skills по поддержанию сообществ разработчиков продуктов с открытым кодом.
Предварительные требования
Если вы еще не сделали этого, сначала настройте Git и проверку подлинности с помощью экземпляр GitHub Enterprise Server из Git. Дополнительные сведения см. в разделе Настройка Git.
Создание вилки репозитория
Вы можете создать вилку проекта, чтобы предложить изменения в вышестоящий репозитории. В этом случае рекомендуется регулярно синхронизировать вилку с вышестоящим репозиторием. Для этого необходимо использовать GIT в командной строке. Вы можете попрактиковаться в настройке вышестоящего репозитория, используя репозиторий octocat/Spoon-Knife, вилку которого вы только что создали.
-
На экземпляр GitHub Enterprise Serverперейдите в репозиторий octocat/Spoon-Knife .
-
В правом верхнем углу страницы щелкните Вилка.
Дополнительные сведения о GitHub CLI см. в разделе Сведения о GitHub CLI.
Чтобы создать вилку репозитория, используйте подкоманду gh repo fork
.
gh repo fork REPOSITORY
Чтобы создать вилку в организации, используйте флаг --org
.
gh repo fork REPOSITORY --org "octo-org"
Вы можете создать вилку репозитория на GitHub.com или в GitHub Desktop. Сведения о вилке в GitHub.com см. в версии этой статьи в веб-браузере.
В GitHub Desktop при попытке клонирования репозитория, к которому у вас нет доступа на запись, автоматически создается вилка.
-
В меню Файл щелкните Клонировать репозиторий.
1. В списке репозиториев щелкните репозиторий, который нужно клонировать. 1. Чтобы выбрать локальный каталог, в который требуется клонировать репозиторий, рядом с полем "Локальный путь" щелкните Выбрать... и перейдите в каталог. -
Нажмите кнопку Продолжить.
Клонирование вилки репозитория
Теперь у вас есть вилка репозитория Spoon-Knife, но нет файлов в этом репозитории локально на компьютере.
-
На экземпляр GitHub Enterprise Server перейдите к вилке репозитория Spoon-Knife.
-
Над списком файлов щелкните Код.
-
Скопируйте URL-адрес репозитория.
-
Чтобы клонировать репозиторий по протоколу HTTPS, в разделе "HTTPS" щелкните .
-
Чтобы клонировать репозиторий с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем выберите .
-
Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI, а затем выберите .
1. Откройте ТерминалТерминалGIT Bash. 4. Измените текущий рабочий каталог на расположение, где должен находиться клонированный каталог.
-
-
Введите
git clone
и вставьте URL-адрес, скопированный ранее. Он будет выглядеть следующим образом с вашим именем пользователя GitHub Enterprise Server вместоYOUR-USERNAME
:$ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife
-
Нажмите клавишу ВВОД. Будет создан локальный клон.
$ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remote: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Дополнительные сведения о GitHub CLI см. в разделе Сведения о GitHub CLI.
Чтобы создать клон вилки, используйте флаг --clone
.
gh repo fork REPOSITORY --clone=true
-
В меню Файл щелкните Клонировать репозиторий.
1. В списке репозиториев щелкните репозиторий, который нужно клонировать. 1. Чтобы выбрать локальный каталог, в который требуется клонировать репозиторий, рядом с полем "Локальный путь" щелкните Выбрать... и перейдите в каталог.
Настройка Git для синхронизации вилки с репозиторием вышестоящий
При создании вилки проекта для предложения изменений в репозитории вышестоящий можно настроить Git для извлечения изменений из репозитория вышестоящий в локальный клон вилки.
-
На экземпляр GitHub Enterprise Serverперейдите в репозиторий octocat/Spoon-Knife .
-
Над списком файлов щелкните Код.
-
Скопируйте URL-адрес репозитория.
-
Чтобы клонировать репозиторий по протоколу HTTPS, в разделе "HTTPS" щелкните .
-
Чтобы клонировать репозиторий с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем выберите .
-
Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI, а затем выберите .
1. Откройте ТерминалТерминалGIT Bash.
-
-
Измените каталоги на расположение клонированной вилки.
- Чтобы перейти к домашнему каталогу, введите просто
cd
без дополнительного текста. - Чтобы получить список файлов и папок в текущем каталоге, введите
ls
. - Чтобы перейти в один из перечисленных каталогов, введите
cd your_listed_directory
. - Чтобы перейти на один каталог выше, введите
cd ..
.
- Чтобы перейти к домашнему каталогу, введите просто
-
Введите
git remote -v
и нажмите клавишу ВВОД. Вы увидите текущий настроенный удаленный репозиторий для вилки.$ git remote -v > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (push)
-
Введите
git remote add upstream
, вставьте URL-адрес, скопированный на шаге 3, и нажмите клавишу Enter. Он будет выглядеть следующим образом.$ git remote add upstream https://HOSTNAME/ORIGINAL_OWNER/Spoon-Knife.git
-
Чтобы проверить новый вышестоящий репозиторий, указанный для вилки, введите
git remote -v
еще раз. Url-адрес вилки должен отображаться какorigin
, а URL-адрес репозитория вышестоящий какupstream
.$ git remote -v > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (push) > upstream https://HOSTNAME/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) > upstream https://HOSTNAME/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
Теперь можно синхронизировать вилку с вышестоящим репозиторием с помощью нескольких команд GIT. Дополнительные сведения см. в разделе Синхронизация вилки.
Дополнительные сведения о GitHub CLI см. в разделе Сведения о GitHub CLI.
Чтобы настроить удаленный репозиторий для вилки репозитория, используйте флаг --remote
.
gh repo fork REPOSITORY --remote=true
Чтобы указать имя удаленного репозитория, используйте флаг --remote-name
.
gh repo fork REPOSITORY --remote-name "main-remote-repo"
Редактирование вилки
Вы можете вносить любые изменения в вилку, в том числе указанные ниже.
- Создание ветвей. Ветви позволяют создавать новые функции или проверять идеи, не подвергая риску главный проект.
- Открытие запросов на вытягивание: Если вы хотите вернуться в репозиторий вышестоящий, вы можете отправить запрос исходному автору на извлечение вилки в репозиторий, отправив запрос на вытягивание.
Поиск репозитория для создания вилки
Создайте вилку репозитория, чтобы приступить к участию в проекте. Вы можете создать вилку частного или внутреннего репозитория в личной учетной записи или организации на экземпляр GitHub Enterprise Server, где у вас есть разрешение на создание репозиториев, при условии, что параметры репозитория и корпоративные политики разрешают разветвления. Как правило, вы можете создать вилку любого общедоступного репозитория для личной учетной записи или организации, у которой есть разрешение на создание репозиториев.
Дополнительные сведения о том, когда можно создать вилку репозитория, см. в разделе Сведения о разрешениях и видимости вилок.
Next Steps
Вы создали вилку репозитория, клонировали ее и настроили вышестоящий репозиторий.
-
Дополнительные сведения о клонировании вилки и синхронизации изменений в вилке репозитория с компьютера см. в разделе Настройка Git.
-
Вы также можете создать новый репозиторий для размещения всех ваших проектов и общего доступа к коду на GitHub. Создание репозитория для проекта позволяет хранить код на GitHub. Таким образом вы получаете резервную копию результатов работы, которую можно предоставить другим разработчикам. Дополнительные сведения см. в разделе Создание репозитория."
-
Каждый репозиторий на GitHub принадлежит пользователю или организации. Вы можете взаимодействовать с людьми, репозиториями и организациями, подписавшись на них на GitHub Enterprise Server. Дополнительные сведения см. в разделе Налаживание социальных связей.
-
У GitHub большое сообщество поддержки, где можно обратиться за помощью и поговорить с людьми со всего мира. Присоединиться к беседе можно в GitHub Community.