Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Поддержка этой версии GitHub Enterprise была прекращена 2023-01-18. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Участие в проектах

Узнайте, как внести свой вклад в проект с помощью создания вилок.

Сведения о вилках

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

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

Вы можете внести свой вклад, отправив запросы на вытягивание из вилки в вышестоящий репозиторий. Дополнительные сведения см. в разделе Создание вилки репозитория.

Создание вилки репозитория

В этом руководстве используется проект Spoon-Knife, тестовый репозиторий, размещенный на GitHub.com и позволяющий опробовать рабочий процесс создания вилок и запросов на вытягивание.

  1. Перейдите к проекту Spoon-Knife по адресу https://github.com/octocat/Spoon-Knife.
  2. Нажмите кнопку Вилка. Кнопка fork

Клонирование вилки

Вы успешно создали вилку репозитория Spoon-Knife, но пока она существует только на GitHub Enterprise Server. Для работы над проектом необходимо клонировать ее на свой компьютер.

Клонировать вилку можно с помощью командной строки, GitHub CLI или GitHub Desktop.

  1. На GitHub Enterprise Server перейдите к своей вилке репозитория Spoon-Knife.

  2. Над списком файлов щелкните Код. Кнопка "Код"

  3. Скопируйте URL-адрес репозитория.

    • Чтобы клонировать репозиторий с использованием HTTPS, в разделе "HTTPS" щелкните .
    • Чтобы клонировать репозиторий с использованием ключа SSH и включить сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем щелкните .
    • Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI , а затем щелкните . Значок буфера обмена для копирования URL-адреса с целью клонирования репозитория с помощью GitHub CLI 1. Откройте ТерминалТерминалGIT Bash. 4. Измените текущий рабочий каталог на расположение, где должен находиться клонированный каталог.
  4. Введите git clone и вставьте URL-адрес, скопированный ранее. Он будет выглядеть следующим образом с вашим именем пользователя GitHub Enterprise Server вместо YOUR-USERNAME:

    $ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife
  5. Нажмите клавишу ВВОД. Будет создан локальный клон.

    $ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: 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. В меню Файл щелкните Клонировать репозиторий.

    Параметр меню «Клонировать» в приложении Mac

    Параметр меню «Клонировать» в приложении Windows

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

    Вкладки "Расположение" в меню "Клонировать репозиторий"

    Вкладки "Расположение" в меню "Клонировать репозиторий"

    1. Выберите в списке репозиторий, который нужно клонировать.

    Клонирование списка репозиториев

    Клонирование списка репозиториев

    1. Нажмите кнопку **Выбрать...** и перейдите к локальной папке, в которую нужно клонировать репозиторий.

    Кнопка «Выбрать».

    Кнопка «Выбрать».

    1. Щелкните **Клонировать**.

    Кнопка "Клонировать"

    Кнопка "Клонировать"

Создание ветви для работы

Перед внесением изменений в проект необходимо создать новую ветвь и извлечь ее. Сохраняя изменения в собственной ветви, вы следите за GitHub Flow и гарантируете, что в будущем будет проще участвовать в том же проекте. Дополнительные сведения см. в разделе GitHub Flow.

git branch BRANCH-NAME
git checkout BRANCH-NAME
git branch BRANCH-NAME
git checkout BRANCH-NAME

Дополнительные сведения о создании ветвей и управлении ими в GitHub Desktop см. в разделе Управление ветвями.

Внесение и отправка изменений

Внесите несколько изменений в проект в любимом текстовом редакторе, например Visual Studio Code. Например, можно изменить текст в файле index.html, добавив свое имя пользователя GitHub.

Когда вы будете готовы отправить изменения, подготовьте и зафиксируйте их. git add . сообщает GIT, что вы хотите включить все изменения в следующую фиксацию. git commit создает моментальный снимок этих изменений.

git add .
git commit -m "a short description of the change"
git add .
git commit -m "a short description of the change"

Дополнительные сведения о подготовке и фиксации изменений в GitHub Desktop см. в разделе Фиксация и проверка изменений в проекте.

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

На данный момент изменения существуют только локально. Когда вы будете готовы передать изменения на GitHub Enterprise Server, отправьте их в удаленный репозиторий.

git push
git push

Дополнительные сведения об отправке изменений на GitHub Desktop см. в разделе Отправка изменений на GitHub.

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

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

Для этого перейдите к репозиторию на GitHub Enterprise Server, где находится проект. В данном примере это будет https://github.com/<your_username>/Spoon-Knife. Вы увидите баннер с сообщением о том, что до слияния вашей ветви с octocat:main осталась одна фиксация. Щелкните Принять участие, а затем — Открыть запрос на вытягивание.

На GitHub Enterprise Server откроется страница с различиями между вашей вилкой и репозиторием octocat/Spoon-Knife. Щелкните Создать запрос на вытягивание.

GitHub Enterprise Server перенаправит вас на страницу, где можно ввести заголовок и описание изменений. Очень важно предоставить как можно более подробную информацию и обоснование для запроса на вытягивание. Исходя из этого владелец проекта сможет решить, является ли ваше изменение таким полезным для всех, каким вы его считаете. Наконец, щелкните Создать запрос на вытягивание.

Управление отзывами

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

Поиск проектов

Вы успешно создали вилку и внесли свой вклад в репозиторий. Продолжайте участвовать в работе сообщества!