27. Відкочування гілки style
Цілі
- Відкотити гілку
style
до точки перед першим злиттям.
01 Відкотіть гілку style
Повернімось в часі у гілці style
до точки перед тим, як ми злили її з гілкою main
. Ми можемо відновити гілку до будь-якого коміту за допомогою команди reset
. По суті, це зміна покажчика гілки на будь-яку точку дерева комітів.
У цьому випадку ми хочемо повернутися в гілці style
в точку перед злиттям з main
. Нам необхідно знайти останній коміт перед злиттям.
Виконайте
git switch style
git log --graph
Результат
$ git switch style
Already on 'style'
$ git log --graph
* 79ac6fa 2023-11-28 | Resolved merge conflict (HEAD -> style) [Alexander Shvets]
|\
| * 85c14e9 2023-11-28 | Added meta title (main) [Alexander Shvets]
* | a33deed 2023-11-28 | Merge branch 'main' into style [Alexander Shvets]
|\|
| * ee16740 2023-11-28 | Added README [Alexander Shvets]
* | 0ee0113 2023-11-28 | Renamed hello.html; moved style.css [Alexander Shvets]
* | 903eb1d 2023-11-28 | Included stylesheet into hello.html [Alexander Shvets]
* | 555372e 2023-11-28 | Added css stylesheet [Alexander Shvets]
|/
* 9288a33 2023-11-28 | Added copyright statement with email [Alexander Shvets]
* b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
* 46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
* 78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
* 5836970 2023-11-28 | Initial commit [Alexander Shvets]
Це трохи важко читати, але, дивлячись на дані, ми бачимо, що коміт «Renamed hello.html; moved style.css» був останнім у гілці style
перед злиттям. Давайте скинемо гілку style
до цього коміту. Для посилання на цей коміт ми або використовуємо його хеш, або визначаємо, що цей коміт знаходиться за 2 коміти до HEAD
, тобто HEAD~2
у нотації Git.
Виконайте
git reset --hard HEAD~2
Результат
$ git reset --hard HEAD~2
HEAD is now at 0ee0113 Renamed hello.html; moved style.css
02 Перевірте гілку
Тепер перевіримо історію змін у гілці style
. У ньому не повинно бути жодних комітів злиття.
Виконайте
git log --graph
Результат
$ git log --graph
* 0ee0113 2023-11-28 | Renamed hello.html; moved style.css (HEAD -> style) [Alexander Shvets]
* 903eb1d 2023-11-28 | Included stylesheet into hello.html [Alexander Shvets]
* 555372e 2023-11-28 | Added css stylesheet [Alexander Shvets]
* 9288a33 2023-11-28 | Added copyright statement with email [Alexander Shvets]
* b7614c1 2023-11-28 | Added HTML header (tag: v1) [Alexander Shvets]
* 46afaff 2023-11-28 | Added standard HTML page tags (tag: v1-beta) [Alexander Shvets]
* 78433de 2023-11-28 | Added h1 tag [Alexander Shvets]
* 5836970 2023-11-28 | Initial commit [Alexander Shvets]