Я хочу клонировать репозиторий с GitHub. Проблема в том, что мне не нужна основная ветка; Мне нужна версия в этом неутвержденном запросе на перенос .
Могу ли я клонировать версию запроса на перенос вместо основного репозитория?
git
github
pull-request
Fresheyeball
источник
источник
clone
а для того, чтобыfetch
посмотреть: stackoverflow.com/questions/6743514/…Ответы:
Вы можете клонировать нужную ветку, используя
-b
опцию и запрос на вытягивание:В вашем случае ветка, которую вы хотите клонировать, является исходной ветвью запроса на перенос (
feature/mongoose-support
):источник
Самый простой способ сделать это так:
Теперь вы будете в новой ветке, которая находится в состоянии запроса на перенос.
Вы можете настроить псевдоним, запустив
Теперь вы можете проверить любой PR, запустив его
git pr <pr_number>
, илиgit pr <pr_number> <remote>
если ваш пульт github не названorigin
.источник
git fetch origin pull/<#>/head:<local_branch_name>
( через ).gitconfig
файл под[alias]
:pr = "!f() { git fetch $1 pull/$2/head:pull_$2; git co pull_$2; }; f"
. Таким образом, я простоgit pr upstream 62
печатаю, и следующее, что я знаю, я нахожусь в новой ветви PR # 62 от апстрима! Если вы всегда используете,origin
вы можете жестко запрограммировать его вместо$1
, но это меняет меня.co
например:
Внесите изменения, зафиксируйте их, НАЖМИТЕ и откройте новый PR из вашей вилки на GitHub
источник
Вы можете следовать указаниям в этой сущности, чтобы иметь возможность проверить удаленный компьютер напрямую, не выясняя их репозиторий и ветвь.
Пример использования
Для одного из моих проектов (github3.py) у меня в моем
github3.py/.git/config
Первая строка - это то, что стандартно для каждого пульта, за исключением того, что
github
заменяется именем пульта. Это означает, что удаленные головы (или главы ветвей на этом сервере) «отображаются» на локальные пульты с префиксомgithub/
. Так что, если яgit fetch github
и имел филиал на GitHub , что не было уже заметили , локально на моей машине, было бы загрузить ветку , и я мог бы переключиться на него так:git checkout -t github/branch_name
.Вторая строка делает то же самое, но делает это для запросов на вытягивание вместо стандартных веток git. Вот почему вы видите
refs/pull/*/head
. Он извлекает заголовок каждого запроса на перенос на GitHub и сопоставляет егоgithub/pr/#
. Итак, если кто-то отправляет запрос на перенос, и он имеет номер 62 (например), вы должны сделать:И тогда вы будете в локальной ветке с именем
pr/62
(при условии, что она еще не существует). Это приятно и означает, что вам не нужно отслеживать чужие пульты или ветки.источник
git clone https://github.com/berstend/frappe.git -b feature/mongoose-support /my_clone
непонятного" документа по сути.git fetch github
вы сможетеgit co -t github/pr/#
. Это избавляет вас от необходимости копировать и вставлять удаленный URL-адрес, вычислять имя ветки и т. Д. Вы получаете хорошо названные, лаконичные и точные имена веток без дополнительных хлопот. Но я понимаю, что это может показаться ошеломляющим.Как я могу получить не объединенный запрос на перенос для ветки, которой я не владею?
источник
git pull
создает слияние с текущей веткой; обычно для PR вам нужно простоgit fetch
получить оригинальный авторский код (тогда он доступен как FETCH_HEAD). Если вы действительно хотите слияние, стоит также упомянутьpull/2/merge
(вместоpull/2/head
) - это заставляет GitHub предоставить вам точную фиксацию слияния, которая произойдет, если вы сейчас нажмете кнопку [Merge].Когда пользователь отправляет запрос на перенос, он запрашивает слияние некоторых изменений из ветки на их клоне вилки обратно в репозиторий другого пользователя.
Желаемые изменения можно получить из источника запроса на перенос. Для этого клонируйте репозиторий пользователя (
git://github.com/berstend/frappe.git
), а затем проверьте ветку, из которой он создал запрос на перенос (feature/mongoose-support
).источник
После установки git-extras
Вы можете просто использовать
git pr
источник
С официальным новым интерфейсом командной строки Github :
где
44
номер PR, но также может быть название филиала.См. Дополнительные сведения, параметры и инструкции по установке .
источник
Этот запрос на перенос показывает коммиты из вилки этого человека, поэтому вы можете видеть, что он отправляет свои изменения из
feature/mongoose-support
ветки.Вы можете клонировать его репозиторий и проверить эту ветку
источник
Для меня это было так просто, как
Где
4
здесь нашли:источник