Робота з гілками
Объяснение полезных 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