Предположим, что у вас есть и репозиторий на «настольном» компьютере, и репозиторий на «портативном» компьютере, настроенный таким образом, что вы можете извлекать на «рабочий стол» с «ноутбука» и наоборот (например, через SSH или через git://
протокол, т. Е. Через git-daemon или, возможно, через простой HTTP).
На компьютерах с настольным компьютером и ноутбуком имеется ветвь master, а на компьютере с ноутбуком - ветвь разработки.
Позвольте сначала настроить удаленный ярлык и удаленное отслеживание ветвей с использованием git remote :
desktop$ git remote add laptop user@laptop:/path/to/repo
Это установит удаленные ветки с именем «ноутбук» и удаленного отслеживания: «ноутбук / мастер» (или, точнее, «refs / remotes / laptop / master»), которая следует за веткой «мастер» на «ноутбуке», и «ноутбук / разработка», который следует за веткой «разработка» на «ноутбуке».
Затем вам нужно создать локальную ветку 'development' на 'рабочем столе', которая будет следовать (отслеживать) ветке удаленного слежения 'ноутбук / разработка' (так как вы не можете разрабатывать на удаленном слежении). филиалы):
desktop$ git checkout -b development --track laptop/development
или просто (с современным git)
desktop$ git checkout --track laptop/development
Подробнее см. Справочную страницу git-branch .
Эта настройка позволяет просто использовать "git pull", когда он находится в "разработке" филиала, когда он находится на "рабочем столе", и git автоматически извлекает все изменения из репозитория на "ноутбуке" в "ноутбук / мастер" и "ноутбук / разработка" ветки удаленного отслеживания, а затем попытайтесь объединить «ноутбук / разработка» в «разработку» (текущая ветка), что обычно приводит к ускоренная перемотка вперед , то есть просто перемещает ветку «разработка».
Затем вы можете создать аналогичную настройку на «ноутбуке» (хотя для настройки существующей ветви «разработка» на «ноутбуке» для отслеживания «рабочего стола / разработки» может потребоваться редактирование файла конфигурации напрямую или через «git config»).