35. Підтягування змін

Цілі

  • Навчитися підтягувати зміни з віддаленого репозиторія.

Виконайте

cd ../home
git fetch
git log --all

Зараз ми знаходимося в репозиторії home.

Результат

$ cd ../home
$ git fetch
From /home/alex/githowto/repositories/work
   39a1e0f..71df43a  main       -> origin/main
$ git log --all --graph
* 71df43a 2023-11-28 | Changed README in original repo (origin/main, origin/HEAD) [Alexander Shvets]
* 39a1e0f 2023-11-28 | Renamed hello.html; moved style.css (HEAD -> main, origin/style) [Alexander Shvets]
* 23149b5 2023-11-28 | Included stylesheet into hello.html [Alexander Shvets]
* b9e6de1 2023-11-28 | Added css stylesheet [Alexander Shvets]
* 85c14e9 2023-11-28 | Added meta title [Alexander Shvets]
* ee16740 2023-11-28 | Added README [Alexander Shvets]
* 9288a33 2023-11-28 | Added copyright statement with email [Alexander Shvets]
* b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
* 46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
* 78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
* 5836970 2023-11-28 | Initial commit [Alexander Shvets]

Зараз в репозиторії є всі коміти з оригінального репозиторія, але вони не злиті в локальні гілки клонованого репозиторія.

В історії вище знайдіть коміт «Changed README in original repo». Зверніть увагу, що коміт містить у собі коміти origin/main і origin/HEAD.

Тепер подивімось на коміт «Renamed hello.html; moved style.css». Ви побачите, що локальна гілка main вказує на цей коміт, а не на новий коміт, котрий ми щойно підтягнули.

Висновком є те, що команда git fetch буде підтягувати нові коміти з віддаленого репозиторія, але не буде зливати їх з вашими напрацюваннями в локальних гілках.

01 Перевірте README

Ми можемо продемонструвати, що клонований файл README не змінився.

Виконайте

cat README

Результат

$ cat README
This is the Hello World example from the GitHowTo tutorial.

Як бачите, жодних змін.