Получение изменений из удаленного репозитория с помощью git fetch
На этом этапе мы узнаем, как получить изменения из удаленного репозитория Git. Представьте, что вы сотрудничаете с другими разработчиками, и они внесли изменения в проект. Команда git fetch
используется для загрузки этих изменений на вашу локальную машину без их слияния с текущим рабочим состоянием.
Сначала давайте смоделируем наличие удаленного репозитория. Мы создадим простой репозиторий локально для демонстрации.
cd ~/project
mkdir remote-repo
cd remote-repo
git init --bare
Этот код создает "голый" (bare) репозиторий, который обычно используется как центральный удаленный репозиторий. Теперь вернемся в наш репозиторий my-time-machine
и добавим этот репозиторий как удаленный.
cd ~/project/my-time-machine
git remote add origin ../remote-repo
Мы добавили удаленный репозиторий с именем origin
, который указывает на наш смоделированный удаленный репозиторий. Теперь внесем изменения в удаленный репозиторий и затем получим их.
cd ~/project/remote-repo
echo "This is a remote change." > remote_file.txt
git add remote_file.txt
git commit -m "Add remote file"
Теперь, находясь снова в репозитории my-time-machine
, давайте получим изменения из удаленного репозитория.
cd ~/project/my-time-machine
git fetch origin
Вы должны увидеть вывод, указывающий, что Git загрузил изменения из удаленного репозитория. Что-то вроде этого:
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), 258 bytes | 258.00 KiB | elapsed 0.00s.
From ../remote-repo
* [new branch] master -> origin/master
Команда git fetch
загружает коммиты, файлы и ссылки из удаленного репозитория в ваш локальный репозиторий. Однако она не автоматически сливает эти изменения с текущей рабочей веткой. Это позволяет вам проверить изменения перед их интеграцией.
Представьте, что git fetch
- это получение последних обновлений из новостной ленты. Вы видите заголовки и краткие описания, но еще не прочитали полные статьи. Вы можете решить, какие статьи (изменения) вы хотите прочитать (слить) позже.