Это в основном из любопытства, поскольку я пытаюсь познакомиться с Git. Я просмотрел документацию для «git fetch», но не вижу очевидного объяснения приведенному ниже. Заранее спасибо, и извините, если это очевидно.
1 )Из центрального репозитория, скажем, GitHub, я клонирую репозиторий с именем website
на каждую из двух машин, HostA
и HostB
.
2 )на HostA
, я делаю изменение в файле, скажем README.txt
, и фиксирую его.
На данный момент HostA
коммиты для ветвей master
и origin/master
, как и ожидалось, отличаются, так как я еще не нажимал
git show master
git show origin/master
сообщить разные хэши (, так как master
имеет изменение, а origin/master
нет)
3 )Как только я нажимаю, они после этого одинаковы.
4 )Теперь перейдем к HostB
, если я сделаю следующее:
git fetch
git merge FETCH_HEAD
после этого на HostB master
и origin/master
сообщают об одном и том же хеше при запросе с помощьюgit show
НО
если бы вместо этого я сделалHostB
:
git fetch origin master
git merge FETCH_HEAD
в этот момент хэши все еще различаются.
git show origin
git show origin/master
отчет разные хэши
Ветка отслеживания origin/master
не обновляется, пока я не сделаю простуюgit fetch
Почему это?