Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Фиксация изменений в ветви запроса на вытягивание, созданной из вилки

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

Фиксации можно выполнять только в ветвях запросов на вытягивание, которые:

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

Только пользователь, создавший запрос на вытягивание, может предоставить вам разрешение на отправку фиксаций в вилку, принадлежащую пользователю. Дополнительные сведения см. в разделе Разрешение изменений в ветви запроса на вытягивание, созданной из вилки.

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

  1. В GitHub Enterprise Server перейдите на главную страницу вилки (или копии репозитория), где была создана ветвь запроса на вытягивание.

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

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

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

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

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

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

    Совет: Если вы предпочитаете клонировать вилку с помощью GitHub Desktop, см. раздел Клонирование репозитория.

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

    $ cd open-source-projects
  5. Введите git clone и вставьте URL-адрес, скопированный шаге 3.

    $ git clone https://HOSTNAME/USERNAME/FORK-OF-THE-REPOSITORY
  6. Нажмите клавишу ВВОД. Будет создан локальный клон.

    $ git clone https://HOSTNAME/USERNAME/FORK-OF-THE-REPOSITORY
     > Cloning into `FORK-OF-THE-REPOSITORY`...
     > 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.

    Совет. Сообщение об ошибке «Неустранимая ошибка: путь назначения "ИМЯ_РЕПОЗИТОРИЯ" уже существует и не является пустым каталогом» означает, что текущий рабочий каталог уже содержит репозиторий с таким же именем. Чтобы устранить эту ошибку, необходимо клонировать вилку в другой каталог.

  7. Перейдите к новому клонированному репозиторию.

    $ cd FORK-OF-THE-REPOSITORY
  8. Переключитесь на ветку сравнения запроса на вытягивание, в которой были внесены исходные изменения. При переходе к исходному запросу на вытягивание вы увидите ветвь сравнения в верхней части запроса на вытягивание.

    В этом примере ветвь сравнения имеет значение test-branch:

    $ git checkout TEST-BRANCH

    Совет: Дополнительные сведения о ветвях запросов на вытягивание, включая примеры, см. в разделе Создание запроса на включение изменений.

  9. На этом этапе с этой ветвью можно сделать все, что необходимо. Можно отправить новые фиксации в нее, выполнить какие-нибудь локальные тесты или объединить другие ветви в эту ветвь. Внесите изменения, которые вам необходимы.

  10. После фиксации изменений в головной ветви запроса на вытягивание можно отправить изменения непосредственно в исходный запрос на вытягивание. В этом примере головной ветвью является test-branch.

    $ git push origin test-branch
    > Counting objects: 32, done.
    > Delta compression using up to 8 threads.
    > Compressing objects: 100% (26/26), done.
    > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
    > Total 29 (delta 8), reused 0 (delta 0)
    > To https://HOSTNAME/USERNAME/FORK-OF-THE-REPOSITORY.git
    > 12da2e9..250e946  TEST-BRANCH -> TEST-BRANCH

Новые фиксации будут отражены в исходном запросе на вытягивание в экземпляр GitHub Enterprise Server.

Дополнительные материалы