Почему запрос 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. так как я активная часть. Стрелка идет другим путем, начиная со мной, а не с Гуфи на другом конце. ИМХО.