Клон GitHub от запроса на растяжение?

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

Возможно ли, чтобы я клонировал версию запроса на перенос вместо основного репозитория?

Ответ 1

Вы можете клонировать нужную ветку с помощью параметра -b в команде git clone.

В вашем случае ветка, которую вы хотите клонировать, является ветвью источника запроса на pull (функция/поддержка mongoose):

git clone https://github.com/berstend/frappe.git -b feature/mongoose-support /my_clone

Ответ 2

Самый простой способ сделать это:

git fetch origin pull/2/head
git checkout -b pullrequest FETCH_HEAD

Теперь вы будете в новой ветке, которая находится в состоянии запроса на растяжение.

Ответ 3

git fetch origin refs/pull/PR_NUMBER/head:NEW_LOCAL_BRANCH

например:

$ git fetch origin pull/611/head:pull_611
$ git checkout pull_611

Внести изменения, зафиксировать их, PUSH и открыть новый PR из вилки на GitHub

Ответ 4

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

Использование примера

Для одного из моих проектов (github3.py) у меня есть следующее в github3.py/.git/config

[remote "github"]
    fetch = +refs/heads/*:refs/remotes/github/*
    fetch = +refs/pull/*/head:refs/remotes/github/pr/*
    url = [email protected]:sigmavirus24/github3.py

Первая строка - это стандартная для каждого пульта, за исключением того, что github заменяется удаленным именем. Это означает, что удаленные головки (или головки ветвей на этом сервере) "сопоставляются" с локальными пультами с префиксом github/. Так что если я сделал git fetch github и имел ветку на GitHub, которая не была замечена локально на моей машине, она загрузила ветку, и я мог бы переключиться на нее следующим образом: git checkout -t github/branch_name.

Вторая строка делает то же самое, но делает это для запросов pull вместо стандартных ветвей git. Вот почему вы видите refs/pull/*/head. Он извлекает головку каждого запроса на растяжение на GitHub и сопоставляет его с github/pr/#. Итак, если кто-то отправляет запрос на растяжение и, например, он пронумерован 62, вы должны:

git fetch github
git checkout -t github/pr/62

И тогда вы попадете в локальную ветвь с именем pr/62 (предположив, что ее еще не существует). Это приятно и означает, что вам не нужно отслеживать удаленные каналы или ветки других людей.

Ответ 5

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

Изменения, которые вы хотите получить, можно получить из источника запроса на растяжение. Для этого клонируйте пользовательский репозиторий (git://github.com/berstend/frappe.git), а затем проверьте ветвь, из которой он создал запрос на растяжение (feature/mongoose-support).

Ответ 6

После установки git-extras

(cd /tmp && git clone --depth 1 https://github.com/tj/git-extras.git && cd git-extras && sudo make install)

Вы можете просто использовать git pr

$ git pr 62 [remote]

Ответ 7

Этот запрос тяги показывает коммиты от этой вилки человека, поэтому вы можете видеть, что он нажимает свои изменения из ветки feature/mongoose-support.

Вы можете клонировать его репозиторий и проверить, что ветка