Сведения о вилках
Вилка — это новый репозиторий, который предоставляет общий доступ к коду и параметрам видимости исходному репозиторию upstream. Вилки часто используются для итерации идей или изменений, прежде чем они будут предложены обратно в вышестоящий репозиторий, например в проектах открытый код или когда у пользователя нет доступа на запись в вышестоящий репозиторий. Дополнительные сведения см. в разделе Работа с вилками.
Предложение изменений в проект другого пользователя
Вилки можно использовать, например, для предложения изменений, призванных исправить ошибку. Вместо регистрации проблемы для обнаруженной ошибки можно выполнить указанные ниже действия.
- Создать вилку репозитория.
- Внесите исправление.
- Отправьте запрос на вытягивание владельцу проекта.
Использование чужого проекта в качестве отправной точки для реализации собственной идеи
Программное обеспечение с открытым кодом строится на той идее, что, предоставляя общий доступ к коду, мы можем создавать более надежное и эффективное ПО. Дополнительные сведения см. в статье "О инициативе с открытым исходным кодом" для инициативы с открытым исходным кодом.
Для получения дополнительной информации о применении open source принципов к работе вашей организации по разработке GitHub см. белую книгу GitHub Введение в innersource.
При создании общедоступного репозитория из вилки чужого проекта обязательно включите файл лицензии, определяющий способ совместного использования проекта с другими пользователями. Для получения дополнительной информации см. Выберите лицензию open source на choosealicense.com.
Дополнительные сведения о продуктах с открытым кодом, особенно о создании и развитии проекта с открытым кодом, мы создали руководства по продуктам с открытым кодом, которые помогут создать работоспособный открытый код сообщества, формируя практические рекомендации по созданию и обслуживанию репозиториев для проекта с открытым кодом. Вы также можете пройти бесплатный курс GitHub Skills по поддержанию сообществ разработчиков продуктов с открытым кодом.
Необходимые компоненты
Если вы еще не сделали этого, сначала настройте Git и проверку подлинности с помощью GitHub.com из Git. Дополнительные сведения см. в разделе Настройка Git.
Создание вилки репозитория
Вы можете создать проект, чтобы предложить изменения в вышестоящем репозитории. В этом случае рекомендуется регулярно синхронизировать вилку с вышестоящим репозиторием. Для этого необходимо использовать GIT в командной строке. Вы можете попрактиковаться в настройке вышестоящего репозитория, используя репозиторий octocat/Spoon-Knife, вилку которого вы только что создали.
-
На GitHub, перейдите к репозиторию octocat/Spoon-Knife .
-
В правом верхнем углу страницы щелкните Вилка.

-
В разделе "Владелец" выберите раскрывающееся меню и щелкните владельца для вилированного репозитория.
-
По умолчанию вилки называются теми же, что и их вышестоящий репозиторий. При необходимости для дальнейшего отличия вилки в поле "Имя репозитория" введите имя.
-
При необходимости в поле "Описание" введите описание вилки.
-
При необходимости выберите " Копировать только ветвь DEFAULT".
Для многих сценариев разветвления, таких как участие в проектах с открытым кодом, необходимо скопировать только ветвь по умолчанию. Если этот параметр не выбран, все ветви будут скопированы в новую вилку.
-
Нажмите Создать вилку.
Примечание.
Если вы хотите скопировать дополнительные ветви из вышестоящего репозитория, это можно сделать на странице "Ветви ". Дополнительные сведения см. в разделе Создание и удаление ветвей в репозитории.
Примечание.
Дополнительные сведения о 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, если клонировать репозиторий, в который у вас нет доступа на запись, а затем попытаться отправить изменение в репозиторий, будет создан вилку.
-
В меню Файл щелкните Клонировать репозиторий.


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

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

-
Чтобы выбрать локальный каталог, в который требуется клонировать репозиторий, рядом с полем "Локальный путь" нажмите кнопку " Выбрать... и перейдите к каталогу".

-
В нижней части окна "Клонировать репозиторий" нажмите кнопку "Клонировать".
-
Чтобы создать вилку, попытайтесь отправить изменение в репозиторий. Например, создайте новую ветвь и опубликуйте ее. Появится запрос на создание вилки этого репозитория.

-
Ознакомьтесь с информацией в разделе "Как вы планируете использовать этот вилку?" интервалу времени.
- Если вы планируете использовать эту вилку для участия в исходном вышестоящем репозитории, щелкните Участие в родительском проекте.
- Если вы будете использовать эту вилку для проекта, не связанного с вышестоящим, щелкните В своих целях.
-
Нажмите кнопку Продолжить.
Клонирование вилки репозитория
Теперь у вас есть вилка репозитория Spoon-Knife, но нет файлов в этом репозитории локально на компьютере.
-
На GitHub, перейдите к вашему вилку репозитория Spoon-Knife.
-
Над списком файлов щелкните Code.

-
Скопируйте URL-адрес репозитория.
-
Чтобы клонировать репозиторий с помощью HTTPS, в разделе "HTTPS" нажмите .
-
Чтобы клонировать репозиторий с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем щелкните .
-
Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI, а затем щелкните .

-
-
Откройте ТерминалТерминалGIT Bash.
-
Измените текущий рабочий каталог на расположение, где должен находиться клонированный каталог.
-
Введите
git clone, а затем вставьте URL-адрес, скопированный ранее. Это будет выглядеть следующим образом: вместо имени пользователя GitHub :YOUR-USERNAMEgit clone https://github.com/YOUR-USERNAME/Spoon-Knife -
Нажмите клавишу ВВОД. Будет создан локальный клон.
$ git clone https://github.com/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.
Клонирование вилки репозитория
Теперь у вас есть вилка репозитория Spoon-Knife, но нет файлов в этом репозитории локально на компьютере.
Примечание.
Дополнительные сведения о GitHub CLIсм. в разделе О GitHub CLI.
Чтобы создать клон вилки, используйте флаг --clone.
gh repo fork REPOSITORY --clone=true
Настройка Git для синхронизации вилки с вышестоящим репозиторием
При создании проекта для предложения изменений в вышестоящем репозитории вы можете настроить Git для извлечения изменений из вышестоящего репозитория в локальный клон вилки.
-
На GitHub, перейдите к репозиторию octocat/Spoon-Knife .
-
Над списком файлов щелкните Code.

-
Скопируйте URL-адрес репозитория.
-
Чтобы клонировать репозиторий с помощью HTTPS, в разделе "HTTPS" нажмите .
-
Чтобы клонировать репозиторий с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем щелкните .
-
Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI, а затем щелкните .

-
-
Откройте ТерминалТерминалGIT Bash.
-
Измените каталоги на расположение клонированной вилки.
- Чтобы перейти к домашнему каталогу, введите просто
cdбез дополнительного текста. - Чтобы получить список файлов и папок в текущем каталоге, введите
ls. - Чтобы перейти в один из перечисленных каталогов, введите
cd YOUR-LISTED-DIRECTORY. - Чтобы перейти на один каталог выше, введите
cd ...
- Чтобы перейти к домашнему каталогу, введите просто
-
Введите
git remote -vи нажмите клавишу ВВОД. Вы увидите текущий настроенный удаленный репозиторий для вилки.$ git remote -v > origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch) > origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (push) -
Введите
git remote add upstream, вставьте URL-адрес, скопированный на шаге 3, и нажмите клавишу Enter. Он будет выглядеть следующим образом.git remote add upstream https://github.com/ORIGINAL-OWNER/Spoon-Knife.git -
Чтобы проверить новый вышестоящий репозиторий, указанный для вилки, введите
git remote -vеще раз. Url-адрес для вилки какoriginи URL-адрес для вышестоящего репозиторияupstream.$ git remote -v > origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch) > origin https://github.com/YOUR-USERNAME/YOUR-FORK.git (push) > upstream https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (fetch) > upstream https://github.com/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, где у вас есть разрешение на создание репозиториев, при условии, что параметры репозитория и корпоративные политики позволяют вилки.
Как правило, вы можете ввести любые общедоступный репозиторий в личная учетная запись или в организацию, где у вас есть разрешение на создание репозиториев, если вы не являетесь членом корпоративный с управляемыми пользователями.
Дополнительные сведения о том, когда можно вкрепить репозиторий, см. в разделе Сведения о разрешениях и видимости вилок.
Вы можете просматривать Explore GitHub, чтобы найти проекты и начать вносить вклад в open source репозитории. Дополнительные сведения см. в разделе Поиск способов внести вклад в open source на GitHub.
Следующие шаги
Вы создали вилку репозитория, клонировали ее и настроили вышестоящий репозиторий.
-
Дополнительные сведения о клонирование вилки и синхронизации изменений в вилованном репозитории с компьютера см. в разделе Настройка Git.
-
Вы также можете создать новый репозиторий для размещения всех ваших проектов и общего доступа к коду на GitHub. Создание репозитория для проекта позволяет хранить код на GitHub. Таким образом вы получаете резервную копию результатов работы, которую можно предоставить другим разработчикам. Дополнительные сведения см. в разделе Краткое руководство по репозиториям.
-
Каждый репозиторий на GitHub принадлежит человеку или организации. Вы можете взаимодействовать с людьми, репозиториями и организациями, подключаясь и следуя им на GitHub. Дополнительные сведения см. в разделе Поиск вдохновения на GitHub.
-
У GitHub большое сообщество поддержки, где можно обратиться за помощью и поговорить с людьми со всего мира. Присоединиться к беседе можно в GitHub Community.