что означает «автоматически перемещаться» для «удаленных веток»? - PullRequest
0 голосов
/ 21 марта 2019

с https://git -scm.com / книга / EN / v1 / Гит-ветвящегося Дистанционно Ветви Я нашел

Удаленные ветки - это ссылки на состояние веток в ваших удаленных репозиториях. Это местные филиалы, которые вы не можете переместить; они перемещаются автоматически при любом сетевом взаимодействии. Удаленные ветви действуют как закладки, чтобы напомнить вам, где ветви в ваших удаленных репозиториях были в последний раз, когда вы подключались к ним. ... Чтобы синхронизировать вашу работу, вы запускаете команду git fetch origin. Эта команда ищет источник сервера (в данном случае это git.ourcompany.com), выбирает из него любые данные, которых у вас еще нет, и обновляет локальную базу данных, перемещая указатель источника / мастера на новый, более актуальная позиция (см. рис. 3-24).

что меня смущает: Как

они перемещаются автоматически при каждом сетевом взаимодействии.

Зачем нам git fetch для ручной синхронизации?

Кроме того, должны ли мы заменить «удаленные ветви» на «удаленные ветви отслеживания» здесь? Поскольку «удаленные ветви» обычно относятся к филиалам на удаленной машине.

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

они перемещаются автоматически при любом сетевом взаимодействии.

Полагаю, речь идет о HEAD pointer в Git, который определяет текущую рабочую ревизию (отсюда и файлы, которые будут помещены в рабочий каталог проекта). Обычно, когда вы извлекаете ветку (удаленную), Git will move the HEAD pointer automatically при создании нового коммита, что означает you are automatically on the newest commit of the chosen branch.

0 голосов
/ 21 марта 2019

они перемещаются автоматически при любом сетевом взаимодействии.

Это означает, что они обновляются, когда вы делаете git fetch или pull (потому что pull содержит выборку) для представления состояния удаленного филиала.

например. когда я делаю git fetch, все удаленные ветви будут обновлены, чтобы отразить состояние локальных ветвей удаленного репозитория.

   Remote Repository                     |     Local Repository
                                         |     
                                         |      refs/heads/master
   A -- B -- C                           |          |
             ^                           |          V
             |                           |     A -- B
           refs/heads/master             |          ^
                                         |          |
                                         |        refs/remotes/origin/master

если вы сейчас выполните git fetch, удаленный локальный репозиторий будет обновлен.

   Remote Repository                     |     Local Repository
                                         |     
                                         |      refs/heads/master
   A -- B -- C                           |          |
             ^                           |          V
             |                           |     A -- B -- C
           refs/heads/master             |               ^
                                         |               |
                                         |        refs/remotes/origin/master

Таким образом, вы никогда не обновляете удаленные ветки вручную. they’re moved automatically whenever you do any network communication.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...