Thanks to visit codestin.com
Credit goes to docs.github.com

Skip to main content

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

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

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

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

Это руководство содержит инструкции по вкладу в проект с использованием интерфейса GitHub и командной строки. Для получения дополнительной информации о вкладе в GitHub Desktop см. Клонирование и создание ветки для репозиториев из GitHub Desktop. То же самое с GitHub CLI (интерфейс командной строки) см. Быстрый старт GitHub CLI.

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

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

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

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

Создание собственной копии проекта

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

  1. Перейдите к проекту Spoon-Knife на https://github.com/octocat/Spoon-Knife.

  2. В правом верхнем углу страницы щелкните Вилка.

    Снимок экрана: главная страница репозитория. Кнопка, помеченная значком вилки и "Вилкой 59,3k", описывается темно-оранжевым цветом.

  3. В разделе "Владелец" выберите раскрывающееся меню и щелкните владельца для вилированного репозитория.

    Примечание.

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

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

  5. При необходимости в поле "Описание" введите описание вилки.

  6. При необходимости выберите " Копировать только ветвь DEFAULT".

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

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

Примечание.

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

Клонирование вилки на компьютер

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

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

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

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

    Снимок экрана: список файлов на целевой странице репозитория. Кнопка "Код" выделена темно-оранжевым контуром.

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

    • Чтобы клонировать репозиторий с помощью HTTPS, в разделе "HTTPS" нажмите .

    • Чтобы клонировать репозиторий с помощью ключа SSH, включая сертификат, выданный центром сертификации SSH вашей организации, щелкните SSH, а затем щелкните .

    • Чтобы клонировать репозиторий с помощью GitHub CLI, щелкните GitHub CLI, а затем щелкните .

      Снимок экрана: раскрывающееся меню "Код". Справа от URL-адреса HTTPS для репозитория значок копирования описывается темно-оранжевым цветом.

  4. В Mac или Linux откройте терминал. В Windows откройте Git Bash.

  5. Измените текущий рабочий каталог на расположение, где должен находиться клонированный каталог.

  6. Введите git clone, а затем вставьте URL-адрес, скопированный ранее. Это будет выглядеть следующим образом: вместо имени пользователя GitHub :YOUR-USERNAME

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

    $ 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.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.
    

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

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

git branch BRANCH-NAME
git checkout BRANCH-NAME

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

Перейдите к проекту и внесите несколько изменений с помощью избранного текстового редактора, например Visual Studio Code. Например, можно изменить текст index.html , чтобы добавить имя пользователя GitHub .

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

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

Когда вы выполняете этап и фиксируете файлы, вы, по сути, говорите Git: "Создание моментального снимка моих изменений". Вы можете продолжать вносить дополнительные изменения и принимать дополнительные моментальные снимки фиксации.

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

git push

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

Создание запроса на вытягивание является последним шагом при создании вилки проекта другого пользователя. Когда вы внесли полезные изменения и хотите предложить его исходному репозиторию, вы создадите запрос на вытягивание для проверяющего.

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

GitHub приведет вас на страницу, показывающую различия между вилкой и репозиторием octocat/Spoon-Knife . Нажмите "Создать pull request".

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

Знакомство с проектом

Если вы не знакомы с проектом, вы можете использовать Copilot для понимания цели репозитория, изучения файлов и изучения конкретных строк кода. См. Использование GitHub Copilot для исследования проектов.