/Synchronization_of_BRANCHES_in_GIT

Что делать после создания, удаления веток и других изменений с ветками в репозиториях Git

Создали, удалили ветку в удалённом репозитории - что делать дальше?

А дальше необходимо синхронизировать состояние удалённого репозитория с локальным!

Для этого используем команду git fetch

Из документации Git:

git-fetch - загрузка объектов и ссылок из другого репозитория

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

🌿 Локально создаются специальные ветки, которые повторяют содержание удалённых веток. Эти ветки имеют формат имени <имя удалённого репозитория>/<имя ветки>, например origin/master.

Как понять: произошло ли что-то хорошее и что делать дальше? Ведь новые ветки по-прежнему не отображаются ⁉️

Ответ: если Git никак не возмутился и не написал сообщение типа "что-то пошло не так", а вы просто перешли в другую строку - значит всё случилось! 🌟 стыковка прошла успешно 🚀

Дело в том, что в локальном репозитории немного по-другому всё это отображается.

Если просмотреть ветки, как обычно, с помощью команды git branch или её синонима git branch --list, отобразятся только те, которые были созданы в данном, т.е. локальном репозитории. А нам нужно посмотреть все, для этого используем команду git branch -a.

Будет отображено как на скрине image.png

🌿 При этом можно уже переключиться на новую ветку обычной командой git checkout название_ветки 👏


Что делать с новыми ветвями, созданными в локальном репозитории?

В данном случае подход отличается.

🌿 Для создания ветви в локальном репозитории мы используем команду git branch <название_ветки> либо git branch -b с одновременным переходом в неё

🌿 Если ещё не перешли, то переключаемся на неё командой git checkout <название_ветки>

🌿 Ветка есть, можем в ней создавать новую фичу или что вы там задумали. НО и ветка, и всё, что вы в ней делаете, находится только у вас в компьютере.

Если вы решили поделиться своей работой с коллегами и выложить работу в ветке на удалённый сервер, сделать это можно с помощью следующей комбинации git push --set-upstream origin название_ветки

Эта команда синхронизирует все изменения этой ветки с удалённым сервером и добавит ветку на сервер.

❗Даже если вы смержите другую ветку с текущей и запушите на сервер, то та, другая ветка просто заберёт изменения из неё, но при этом текущая ветка так и останется в локальном репозитории.

Для добавления самой ветки на удалённый репозиторий всё равно её надо отправить "вверх по течению" командой git push --set-upstream origin название_ветки

branches.png