Получение изменений и проверка статуса Git
На этом этапе мы научимся получать изменения из удаленного репозитория и проверять статус нашего локального репозитория.
Представьте, что вы работаете над проектом с другими людьми. Они могут внести изменения в проект и сохранить их в центральном хранилище (удаленном репозитории). Вам нужно иметь возможность получить эти изменения в свою копию проекта (локальный репозиторий). Именно здесь приходит на помощь команда git fetch
.
Сначала убедимся, что мы находимся в директории нашего проекта. Откройте терминал и введите:
cd ~/project/my-time-machine
Теперь имитируем наличие удаленного репозитория. В реальной ситуации он был бы на платформе, такой как GitHub или GitLab. В рамках этого практического занятия (лабораторной работы) мы будем использовать локальную директорию в качестве нашего "удаленного" репозитория.
git remote add origin ../my-time-machine-remote
Эта команда добавляет "удаленный" репозиторий с именем origin
, который указывает на директорию вне текущего проекта.
Теперь используем команду git fetch
для получения любых изменений из этого имитированного удаленного репозитория.
git fetch origin
Если нет новых изменений, вы, возможно, не увидите большого количества вывода, но эта команда связалась с удаленным репозиторием и загрузила любую новую информацию, такую как коммиты и ветки, без объединения их с текущей веткой.
После получения изменений всегда полезно проверить статус локального репозитория, чтобы увидеть, есть ли изменения из удаленного репозитория, которые вы еще не включили.
git status
Вывод команды git status
теперь скажет вам, находится ли ваша локальная ветка "в актуальном состоянии" по отношению к удаленной ветке, или есть изменения, которые можно получить. Например, вы можете увидеть что-то вроде этого:
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
Или, если были изменения в удаленном репозитории:
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
Понимание вывода команды git status
после выполнения git fetch
является важным. Он показывает отношение между вашей локальной веткой и соответствующей веткой в удаленном репозитории. Это помогает вам решить, нужно ли получать изменения или ваша локальная копия уже актуальна.