Такой простой и в тоже время такой сложный для меня вопрос - в чем разница между двумя командами - git pull и git fetch. Давайте попробуем разобраться что делает каждая из этих команд.
При использовании команды pull, git выгрузит из удаленного репозитария все комиты и будет мерджить их в ветку. в которой вы сейчас работаете. Pull автоматически смерджит комиты, не дав вам предварительно просмотреть их.
При использовании команды fetch, git возьмет все комиты оттуда откуда вы делаете fetch и сохранит их в вашем локальном репозитарии. Однако, он не будет мерджить их с той веткой в которй вы сейчас работаете. Это может быть полезным, если вы хотите поддерживать свой локальный репозитарий в актуальном состоянии, но в настоящий момент работаете надь чем-то что может сломаться, если вы обновите свои файлы. Для того чтобы скачанные в локальный репозитарий изменения интегрироватль в свою ветку необходимо использовать merge.
Git Pull
При использовании команды pull, git выгрузит из удаленного репозитария все комиты и будет мерджить их в ветку. в которой вы сейчас работаете. Pull автоматически смерджит комиты, не дав вам предварительно просмотреть их.
Git Fetch
В итоге в чем же разница
Простыми словами, 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
Комментариев нет:
Отправить комментарий