2013-07-18 3 views
26

Теперь я начинаю играть с Гит, и я немного смущен. Для меня, похоже, есть много вариантов сделать то же самое. Мой вопрос сейчас является то, что разница между командами ниже:В чем разница между «git remote update», «git fetch» ​​и «git pull»?

  • мерзавцем удаленного обновлением
  • мерзавцем принести
  • мерзавца тянуть

Кроме того, какая из них больше подходит для обновления локальной копии удаленной ветви?

+0

См. [Различия между удаленным обновлением git и извлечением?] (Http://stackoverflow.com/questions/1856499/differences-between-git-remote-update-and-fetch), а также [В чем разница между 'git fetch origin' и' git remote update origin'?] (http://stackoverflow.com/questions/2688251/what-is-the-difference-between-git-fetch-origin-and-git-remote-update -origin). –

+0

Возможный дубликат [В чем разница между «git pull» и «git fetch»?] (Http://stackoverflow.com/questions/292357/whats-the-difference-between-git-pull-and-git-fetch). –

ответ

33

git remote update обновит все ваши ветви, установленных для отслеживания удаленных из них, но не сливаться какими-либо изменений в системе.

git fetch будет обновлять только ветвь, которую вы, но не смените любые изменения.

git pull обновит и объединить любые удаленные изменения текущей ветви, в которой вы находитесь. Это будет тот, который вы используете для обновления локальной ветви.

+3

'git fetch' будет обновлять другие ветки, если хотите. Попробуйте 'git fetch -all' – Arafangion

+5

Знаете ли вы, что на самом деле вы можете совершать быстрые переходы с помощью fetch с помощью refspecs ?:' git fetch origin master: master'. Это работает, только если у вас нет «master», потому что Git должен переместить указатель на ветку и не будет делать этого, если вы сейчас находитесь в ветке. –

+3

«get fetch», кажется, извлекает все ветки, когда я это делаю, даже без использования ключа -all. (Git for windows 2.10.0.1) –

0

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

Это частично дублируется. Проверьте: What is the difference between 'git pull' and 'git fetch'?

Кроме того, если это что-то для вас значит, я никогда не использовал git remote update ни fgit fetch. Вы можете отлично справиться с тягой, фиксацией и нажатием.

Надеется, что это помогает ..

+1

'git fetch' имеет свое место ... иногда вы только заботитесь о том, сколько ветвей ваш менеджер обрезает; иногда вам нужны обновления только из ветви, в которой вы находитесь. – Makoto

+0

Я думаю, это имеет смысл =) – LucasA

+2

Я почти никогда не использую 'git pull', мне всегда нравится просматривать любые восходящие изменения, прежде чем объединять их, поэтому я в основном использую' git fetch'. –

Смежные вопросы