Git запрос-вытащить из локальной ветки в удаленный мастер

Мне очень нравится метод gitub pull-request для совместной работы по распределенной разработке программного обеспечения. Это позволяет обсуждать и просматривать код.

Моя цель - использовать тот же поток, но внутри нашего репозитория без github. Я не хочу раскошеливать проект.

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

  A---B---C feature/awesomeFeature
 /
D---E---F---G origin/master
              master

можно ли сделать запрос на извлечение на начало/мастер?

Я пробовал git request-pull feature/awesomeFeature origin без каких-либо успехов

Ответ 1

Если вы разработали свою ветвь функций локально, вам просто нужно использовать:

git request-pull origin/master feature/awesomeFeature

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

Ответ 2

Запросы Pull фактически не реализованы внутри самого git, поэтому вам понадобится другая система, которая будет сидеть поверх git. Если вы хотите разместить свой репозиторий самостоятельно, вы можете использовать программное обеспечение, такое как GitLab, чтобы управлять своим репо и разрешать создавать запросы на тягу.

Ответ 3

Можно ли сделать запрос на получение origin/master?

Пока origin/master является допустимой ветвью, да.

Но с Git 2.23 (Q3 2019) " git request-pull " научился предупреждать, когда ссылки, из которых мы просим их извлечь из локального репозитория и в опубликованном репозитории, различаются.

См. Коммит 0454220, коммит 5731dfc (28 мая 2019 г.) Паоло Бонзини (bonzini).
(Объединено Junio C Hamano - gitster - в коммите dedc046, 17 июня 2019 г.)

request-pull: предупредить, если удаленный объект не совпадает с локальным

В некоторых случаях git request-pull может быть вызван с удаленными и локальными объектами, которые отличаются, даже если они указывают на один и тот же коммит.
Например, удаленный объект может быть облегченным тегом по сравнению с аннотированным тегом на локальной стороне; или пользователь мог переписать тег локально и забыл его нажать.

Когда это происходит, git-request-pull не будет предупреждать, потому что он только проверяет, что " git ls-remote " возвращает SHA1, который соответствует локальной фиксации (в $headrev).

Этот патч заставляет git-request-pull извлекать объект тега SHA1 при обработке вывода " git ls-remote ", чтобы его можно было сопоставить с локальным объектом.