Получение изменений из внешних репозиториев в Git

Итак, в предыдущих уроках мы научились отправлять данные во внешний репозиторий. Представим теперь ситуацию, что данные в нем поменялись. Такая ситуация возникает, когда над проектом работают несколько человек и каждый из них отправляет данные в этот общий репозиторий. Либо может быть ситуация, когда вы работаете на разных компьютерах, например, дома и на работе. На работе вы отправляете изменения, а дома хотите их получить на свой домашний компьютер.

Давайте сымитируем такую ситуацию. Для этого, на сайте GitHub зайдите в файлы проекта и отредатируйте какой-нибудь файл, внеся в него изменения. Давайте получим эти изменения на наш локальный компьютер.

Это делается с помощью команды fetch, после которой указывается имя внешнего репозитория:

git fetch origin

Данная команда скопирует все изменения, сделанные во внешнем репозитории с момента вашего последнего обращения к нему. При этом изменения не появятся сразу в наших файлах, а попадут в специальную ветку. Имя этой ветки будет строится по следующему принципу: имя внешнего репозитория, а потом через слеш имя ветки. В нашем случае это будет origin/master.

Чтобы изменения появились в файлах нашего проекта, нужно влить изменения в нашу ветку. Для этого, находясь в ветке master, выполним команду на слияние:

git merge origin/master

На сайте GitHub вручную внесите изменения в ваш проект. Получите эти изменения в свой локальный репозиторий.