В чем разница между `git fetch origin` и` git удаленным обновлением origin`?

В ответ на вопрос о выделении одного коммита за раз из репозитория git, мне было рекомендовано использовать git remote update вместо git fetch. Я прочитал обе страницы, но не могу сказать, что я понял либо полностью.

Может ли кто-нибудь объяснить мне, как git fetch origin и get remote update origin ведут себя по-другому?

Ответ 1

Это не имеет значения, когда используется так.

remote update - очень высокоуровневая команда - она ​​поддерживает сгруппированные пульты (remotes.<group> = <list>) и обновляет все пульты (кроме тех, у которых есть remote.<name>.skipDefaultUpdate set), но не какие-либо более конкретные опции извлечения. Тем не менее, под капотом он делает то же самое, что и выборка с параметрами по умолчанию.

Ответ, рекомендующий remote update вместо git fetch, фактически рекомендовал его без удаленного имени, просто для извлечения всех, а не только для имени, называемого аргументом. Это эквивалентно git fetch --all.

Я должен добавить оговорку, что выборка и удаленное обновление фактически не использовали ту же кодовую форму до версии 1.6.6.1 (выпущен 23 декабря 2009 г.). Еще до этого, однако, они делали по сути одно и то же, просто используя другой код (возможно, немного по-разному смотря в угловых случаях, но я не могу думать ни о чем с моей головы).