Обновите все ветви local для согласования с remote

#git

#git

Вопрос:

Я работал на компьютере A, который создавал новые ветки на удаленном.

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

Это то, что я могу сделать с помощью командной строки git?

Ответ №1:

Вам придется выполнять действия для каждой ветви последовательно, поскольку автоматизация этого становится непрактичной из-за того, что это pull может привести к конфликтам, которые необходимо будет разрешать вручную.

1) Обновите все ваши ветви удаленного отслеживания с помощью удаленного

 git fetch
  

После этого шага вы уже можете видеть в выходных данных названия новых или обновленных ветвей.


2) Обновление локальных ветвей

(примечание: используйте здесь не название ветки удаленного отслеживания, а название самой ветки. т.е. master не origin/master )

 git checkout <branchName>
  

Если это новая ветка для вашей локальной, вы можете остановиться на этом, теперь у вас есть обновленная копия. Но если у вас уже была локальная копия этой ветки, теперь вам придется сделать

 git pull
  

который сливается origin/<branchName> с <branchName> .

Разрешите конфликты, если таковые имеются, но многие ветки могут привести к ускоренным слияниям, особенно те, которые вы недостаточно недавно модифицировали.


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

Комментарии:

1. Я одобряю (и повышаю). Однако я добавлю предложение выполнить git pull --rebase на случай, если локальная ветка и ее удаленная разошлись, чтобы избежать фиксации слияния. Это привело бы к более чистой и удобной для чтения истории / журнала.

2. @padawin Я, как правило, забываю упомянуть об этой возможности, поскольку я сам редко ею пользуюсь, но вы правы, это полезное дополнение.