Робота з гілками
Объяснение полезных Git команд с помощью визуализации
- Merge
    
- Fast-forward (–ff)
 - No-fast-foward (–no-ff)
 - Merge конфликты
 
 - Rebase
    
- Interactive Rebase Reset
 - Soft reset
 - Hard reset
 
 - Revert
 - Cherry-pick
 - Fetch
 - Pull
 - Reflog
 
- Галуження в git
    
- Гілки у кількох словах :link:
 - Основи галуження та зливання :link:
 - Управління гілками :link:
 - Процеси роботи з гілками :link:
 - Віддалені гілки :link:
 - Перебазовування :link:
 
 
(git-scm.com/book :link:)
список гілок:
git branch
Подивитися останні коміти
git branch -v
Створити нову гілку ‘iss53’ і перейти в неї
$ git branch iss53
$ git checkout iss53
Або скорочено:
$ git checkout -b iss53
Switched to a new branch "iss53"
Правимо файли, тестуємо…
Коммітимо:
$ git commit -a -m 'added chahges for [issue 53]'
Коли робота закінчена і перевірена працездатність, перемикаємося на основну гілку і зливаемо зміни:
$ git checkout main
Switched to branch 'main'
$ git merge iss53
Якщо гілка ‘iss53’ більше не потрібна - видаляємо її.
$ git branch -d iss53
Перенести зміни з поточної гілки в іншу
Якщо ми почали робити зміни, а потім зрозуміли, що краще треба було це робити в іншій гілці…
або Якщо ми зробили зміни, забувши забрати останні оновлення з сервера…
Тобто, є змінені файли в гілці main. Їх ще не додали для відстеження (під час запуску команди git status вони підсвічуються червоним).
Переносимо зміни з гілки main в іншу, наприклад temp. Створюємо її, та переходимо в неї, додаємо змінені файли для відстеження в цій гілці, комітимо:
git checkout -b temp
git add --all
git commit -m "move changes to temp"
На цьому кроці ми в temp зі збереженими зміненими файлами, а main - очистилася від змін.
Ми можемо продовжити та закінчити роботу в temp.
Можемо повернутися в main, щоб отримати оновлення з сервера, а потім злити з тими що перенесли в temp:
git checkout main
git pull origin main
git merge temp