Якщо ви не бачите жодної різниці, я підозрюю, що ви втратили зміни. Ви можете скористатись git reflog
ідентифікацією гілки, яка існувала до перебазування, та використанняgit reset --hard <my-branch-tip-before-rebase>
для повернення початкової гілки. І так, вам доведеться знову пройти процес. :-(
Я не зовсім впевнений, як ти опинився з ними однаково, хоча. Я б очікував побачити наступне з командою, яку ви дали:
1 = 2 = 3 = 4 (master)
\ \
\ 5' = 6' = 8' (my_branch)
\
5 = 6 = 7
У цьому випадку вам, мабуть, слід було використовувати rebase --onto
:
git rebase --onto master <commit id for 6> my_branch
Це залишило б у вас графік, який виглядав так:
1 = 2 = 3 = 4 (master)
\ \
\ 8' (my_branch)
\
5 = 6 = 7
Що стосується втрати змін, потрібно трохи попрацювати з конфліктами злиття, особливо коли у вас є кілька великих блоків, які виглядають майже однаково. Я завжди вдаюся до того, щоб подивитися на фактичну різницю, введену комітом, і на спробу дратувати цю зміну та об'єднати її з тим, що вже є на гілці, відповідним чином. Я легко бачу, як ваша зміна могла там загубитися.
Запам’ятати одне. Якщо ви не очікуєте купу конфліктів злиття - оскільки ви не відчуваєте, що джерела розходяться в достатній мірі, той, що бачить, є попереджувальним прапором про те, що ви зробили щось не так. Добре зробити резервну копію, виконавши agit rebase --abort
, дослідивши гілки та перевіривши ще раз, чи очікуєте ви конфлікту. Не забудьте взяти до відома, де стався конфлікт (зазвичай існує "Застосування ..." безпосередньо перед тим, як перебазувати вас у командний рядок). Зазвичай це чудове місце для початку.
Іноді конфліктів не уникнути, і їх нудно опрацьовувати. Але я підозрюю, що на практиці ви менше стикаєтесь із цією проблемою.
Щоб отримати додаткову інформацію про пересадку змін між гілками, загляньте на сторінку довідки git rebase . Шукайте "rebase --onto". Перший удар повинен потрапити до вас у розділі, присвяченому пересадці змін на іншу гілку.
git rebase --skip
(замість--continue
), чи можливо ви "пропустили" зміни, які насправді все-таки мали суттєві зміни під час перебазування?