Почему запрос git 'pull' не называется "push-запрос"?

Терминология, используемая для объединения ветки с официальным репозиторием, является "запросом на перенос". Это сбивает с толку, поскольку кажется, что я прошу внести свои изменения в официальный репозиторий.

Почему он называется запросом на перенос, а не запросом push?

Ответ 1

Если у вас есть изменение кода в вашем репозитории, и вы хотите переместить его в целевой репозиторий, то:

  • "Push" - это принудительное изменение изменений в целевом хранилище (git push).
  • "Pull" - это целевое хранилище, в котором хранятся ваши изменения (git pull из другого репо).

"Вытягивающий запрос" - вы запрашиваете целевой репозиторий, чтобы получить ваши изменения.

"Push-запрос" будет целевым репозиторием, который запрашивает у вас изменения.

Ответ 2

Когда вы отправляете запрос на вытягивание, вы запрашиваете (запрашиваете) официального владельца репо, чтобы внести некоторые изменения из своего собственного репо. Следовательно, "запрос тянуть".

Ответ 3

tl; dr, поскольку мне не разрешено делать толчок, я просто сделаю запрос владельцу репо, чтобы он решил потянуть


Кто может отправить код в хранилище?

Если кто-то (возможно, злой, необразованный или неизвестный) сможет прийти и сказать здесь, я просто перенес это в вашу главную ветку и испортил весь ваш код, ХАХАХА! ?

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

Поэтому, если вы не являетесь соавтором и попытаетесь выдвинуть, вы получите сообщение об ошибке, указывающее, что у вас нет разрешения.


Так как же другие разработчики могут подтолкнуть к репо, на который им не дано разрешение?
Вы не можете предоставить доступ всем, но хотите предоставить другим точку выхода/входа, чтобы они могли "обратиться к владельцу репо с просьбой вытащить этот код в репо". Проще говоря, сделав репо доступным, они могут раскошелиться... внести свои изменения в свой собственный форк. Протолкни свои изменения на свою вилку. Однажды это в их собственном удаленном репо:

Они делают запрос на извлечение из своего форка, и владелец репозитория в верхнем потоке (к которому вы не можете напрямую подтолкнуть) решит, объединить или нет запрос на извлечение.


Также наполовину связанный вопрос, который я рекомендую прочитать Что именно происходит в git push? Почему git push не рассматривается как git merge?

Ответ 4

Запрос Pull: я Запрос для Pull.

Ответ 5

Я хочу подтолкнуть что-то к другому репо.

У меня нет разрешения толкать (или тянуть, в этом отношении).

У владельца/соавторов есть разрешения. Они могут тянуть так же как толкать. Я не могу толкнуть.

Итак, я прошу их выполнить от меня попытку - это косвенно означает, что я прошу их принять мой толчок.

Таким образом, нет запроса на толчок. Только для тяги. И для принятия толчка.

Следовательно, запрос "тянуть". И не "пуш" запрос.

Ответ 6

Это слово "запрос" является ключевым в этих действиях. Вы могли бы также подумать об этом, сказав: "У меня есть просьба взять вас на работу, вы согласны?" - "Запрос Pull".

Сначала это немного запутывает, но в конечном итоге имеет смысл.

Ответ 7

Я думаю, что это глупая терминология, потому что я хочу думать, что я хочу НАЖАТЬ что-то для вас, а не думать наоборот, попросив кого-то еще вытянуть мои добавления. Поэтому он должен быть изменен на PUSH REQ. так как я активная часть. Стрелка идет другим путем, начиная со мной, а не с Гуфи на другом конце. ИМХО.