Найти в Дзене
Властелин машин

Работа с Git ветками

Основные команды для работы с ветками: Создание git checkout -b имя - создание ветки из текущего коммита c переходом в нее git branch имя - создание ветки из текущего коммита git push репозиторий ветка - создание серверной ветки на основе локальной
git push репозиторий имя_локальной:имя_серверной - то же, но с другим именем на сервере git fetch репозиторий; затем git checkout -b имя_локальной репозиторий/имя_серверной - создание локальной ветки на основе серверной либо, если с тем же названием как и на сервере git checkout --track репозиторий/ветка Отправка данных в серверную ветку git push - если ветка является веткой с
Оглавление

Основные команды для работы с ветками:

Создание

git checkout -b имя - создание ветки из текущего коммита c переходом в нее

git branch имя - создание ветки из текущего коммита

git push репозиторий ветка - создание серверной ветки на основе локальной
git push репозиторий имя_локальной:имя_серверной - то же, но с другим именем на сервере

git fetch репозиторий; затем git checkout -b имя_локальной репозиторий/имя_серверной - создание локальной ветки на основе серверной либо, если с тем же названием как и на сервере git checkout --track репозиторий/ветка

Отправка данных в серверную ветку

git push - если ветка является веткой слежения с тем же имеем, что и серверная

git push репозиторий имя_локальной - если одноименные ветки

git push репозиторий имя_локальной:имя_серверной - в противном случае

Объединение с другой веткой

с локальной

git merge имя

с серверной

git fetch репозиторий а затем git merge - если ветка является веткой слежения с тем же имеем, что и серверная git merge репозиторий/имя - в общем случае

либо

git pull - если ветка является веткой слежения с тем же имеем, что и серверная git pull репозиторий имя - в общем случае

Создание из текущей ветки, ветки слежения

git branch -u репозиторий/ветка

Удаление

git branch -d имя - локальной ветки

git push репозиторий --delete ветка - серверной ветки

Информация

git branch - отобразить все ветки с пометкой текущей

git branch -v - отобразить все ветки с последними коммитами

git branch -vv - отобразить все ветки и их аналоги на сервере

Теперь продемонстрируем работу команд на практике:

Создадим первый проект и настроим Git:

Создадим файл hello.py с таким содержанием:

-2

Добавим файл в список слежения и закоммитимся:

-3

Отправим изменения на сервер:

-4

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

-5

Переименуем удаленный репозиторий:

-6

Вернемся к первому проекту, создадим ветку, а затем перейдем в нее::

-7

изменим содержимое файла:

-8

и закоммитимся:

-9

Затем вернемся в ветку master, внесем изменения и сделаем коммит:

-10
-11

Перейдем на branch1 и объединим ее c master:

git checkout branch1
git merge master

-12
-13

Разрешаем конфликт и коммитимся:

-14
-15

Отправляем эту ветку на сервер:

git push test branch1:br1

Теперь возвращаемся ко второму проекту и создаем локальную ветку, следящую за br1:

-16

Теперь изменим файл, закоммитимся и отправим изменения на удаленную ветку:

git commit -am hello_proj2
git push

-17

Перейдем в первый проект, скачаем изменения из удаленной ветки:

-18

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

-19
-20
-21

Теперь перейдем во второй проект, удалим серверную и локальную ветку br1:

-22
-23

Отмечу, что команды не раскрытые в данной статье упоминались ранее.

-24