Поиск по этому блогу

суббота, 8 февраля 2014 г.

Git. Разница меджу git pull и git fetch

Такой простой и в тоже время такой сложный для меня вопрос - в чем разница между двумя командами - git pull и git fetch. Давайте попробуем разобраться что делает каждая из этих команд.

Git Pull


При использовании команды pull, git выгрузит из удаленного репозитария все комиты и будет мерджить их в ветку. в которой вы сейчас работаете. Pull автоматически смерджит комиты, не дав вам предварительно просмотреть их.

Git Fetch


При использовании команды fetch, git возьмет все комиты оттуда откуда вы делаете fetch и сохранит их в вашем локальном репозитарии. Однако, он не будет мерджить их с той веткой в которй вы сейчас работаете. Это может быть полезным, если вы хотите поддерживать свой локальный репозитарий в актуальном состоянии, но в настоящий момент работаете надь чем-то что может сломаться, если вы обновите свои файлы. Для того чтобы скачанные в локальный репозитарий изменения интегрироватль в свою ветку необходимо использовать merge.

В итоге в чем же разница 


Простыми словами, git pull делает git fetch, а затем сразу же делает git merge в ту ветку в которой вы сейчас работаете. Вы можете сделать в любое время git getch для того, чтобы обновить вашу локальную копию удаленного репозитария. Эта операция не изменит ни одну из ваших веток и безопасна, в том числе, и для той ветки, в которой вы сейчас работаете. Git pull можно использовать для того чтобы держать свой локальный репозитарий в соответствии с состоянием удаленного рапозитария. На просторах интернета отыскал очень полезную схему работы с git.  На картинки достаточно наглядно показано, что делает команда git fetch и git pull.


А также, еще нашел один очень полезный сайт про Git, на котором можно увидеть для чего нужны команды git и что именно они делают - http://ndpsoftware.com/git-cheatsheet.html#loc=index


Комментариев нет:

Отправить комментарий