Виконання Операції Rebase
Свайпніть щоб показати меню
Перенесення змін на гілку main
Перш ніж виконати операцію rebase, необхідно переключитися на гілку main та отримати останні зміни:
Тепер розглянемо дерево комітів:
На даний момент як гілка main, так і гілка feature/payment містять коміти після останнього спільного предка. Це означає, що швидке злиття (fast-forward merge) виконати неможливо.
Якщо об'єднати ці гілки, відбудеться трьохстороннє злиття (three-way merge). Однак для збереження лінійної історії виконаємо перенесення (rebase) гілки feature/payment на гілку main. Для цього потрібно переключитися на гілку feature/payment і виконати команду git rebase:
Fast-forward злиття
Оскільки операція rebase виконана успішно, давайте ще раз переглянемо наше дерево комітів:
Як і очікувалося, історія комітів тепер лінійна, а останній коміт знаходиться у гілці feature/payment. Тепер можна виконати просте fast-forward злиття у гілку main:
Перевіримо, що обидві гілки вказують на один і той самий коміт, переглянувши останній коміт:
Видалення гілки Feature
Гілка main тепер містить останній коміт з реалізованою платіжною системою, тому можна безпечно видалити як локальну, так і віддалену гілку feature/payment. Наступна команда видаляє віддалену гілку:
Тепер можна видалити локальну гілку:
Нарешті, всі внесені зміни можна відправити назад у віддалений репозиторій:
Щоб переконатися, що гілку feature було видалено як локально, так і віддалено, ви можете виконати наступну команду, яка виведе усі (прапорець -a означає всі) локальні та віддалені гілки:
Як бачите, гілку feature/payment було успішно видалено, і тепер залишилося лише дві гілки: main та john/test разом із їхніми віддаленими копіями.
Загалом, rebase добре підходить для локальних змін, які ще не були опубліковані, але може спричинити значні проблеми для змін, які вже були опубліковані у віддаленому репозиторії та, можливо, завантажені іншими учасниками. Виконання rebase над комітами, які використовують інші, може призвести до плутанини та конфліктів через переписування історії комітів.
Загальне правило: уникайте виконання rebase для змін, які вже були відправлені у віддалені репозиторії, щоб запобігти цим проблемам.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат