Ответ 1
Запросы Pull - это простая концепция, которая возникла при создании Git, но с тех пор была взята на разные уровни.
Суть в том, что у вас нет прав на push для репозитория, в который вы хотите внести свой вклад, поэтому вместо этого вы создаете репозиторий, создавая свою частную копию (клон уже делает это.), и вы вносите свой вклад в это. И затем вы попросите хранителя оригинального репозитория внести изменения. Таким образом, вы по существу представляете патч.
Теперь, как я уже сказал, есть разные способы сделать это, но все это сводится к тому, чтобы попросить сопровождающего втянуть ваши изменения, отсюда и название. Первоначальная цель Git была создана для ядра Linux, и они развивались с использованием списков рассылки навсегда. Поэтому для них запрос на перенос на самом деле отправляет патч по электронной почте; эти исправления на самом деле фиксируют объекты, добавленные некоторыми обычными средствами связи по электронной почте. Git имеет инструменты для генерации этого.
git request-pull
- это аналогичный инструмент для генерации сообщения, запрашивающего запрос на перенос. Но в этом случае это ближе к идее тянуть. В то время как исправления могут быть просто применены, запросы, созданные request-pull
, на самом деле говорят сопровождающему, чтобы вытащить изменения из другого удаленного репозитория.
В Git книге приведен пример:
$ git request-pull origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
John Smith (1):
added a new function
are available in the git repository at:
git://githost/simplegit.git featureA
Jessica Smith (2):
add limit to log function
change log output to 30 from 25
lib/simplegit.rb | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
Итак, это действительно просто утилита для генерации сообщений для выполнения базовой концепции.
Другие хостеры с исходным кодом, такие как GitHub, делают это аналогично. Когда вы создаете запрос на перенос на GitHub, вы просто создаете проблему, которая содержит дополнительную информацию, в которой коммиты могут поддерживать. Конечно, все это на одном веб-сайте, они могут связывать все немного больше и предоставляют эти кнопки слияния одного щелчка, например.
Но базовое понятие остается тем же: запрашивать у сопровождающего какие-то изменения. Единственное отличие заключается в том, как этот запрос передается с помощью.