Перемещение прошлого коммита в другую ветку - PullRequest
1 голос
/ 13 марта 2020

Я сделал коммит в неправильной ветви и хотел узнать, могу ли я переместить коммит из ветви в другую.

Вот моя реальная ситуация

Branch 1 ----- 2 --- 4 --- 5 --- 6
              /   
HEAD ------- 1  
              \
Branch 2 ----- 3

А вот это то, что у меня будет

Branch 1 ------ 4 --- 5 --- 6
              /   
HEAD ------- 1  
              \
Branch 2 ----- 2 --- 3

Это вообще возможно?

При коммите "2" добавляется только файл, который никогда не использовался в этой ветке, но мне нужен этот файл в моей ветке 2. Могу ли я "просто" воссоздать файл в моем Branch 2 и иметь дело с файлом в моем Branch 1, когда я собираюсь объединить их? Я использую GitHub для размещения своего кода и GitKraken на своем рабочем столе.

Спасибо!

1 Ответ

2 голосов
/ 13 марта 2020

У вас есть два варианта. Rebase или вишня выбрать и вернуться.

Cherry-pick and revert - самый простой вариант, который окажет наименьшее влияние на вашу команду. История не будет точно соответствовать вашим графикам, но будет иметь желаемый результат

git checkout branch_1
git revert 2
git checkout branch_2
git cherry-pick 2

Rebase даст вам желаемую историю, но если вы работаете с другими людьми, это может вызвать проблемы, если они отрабатывают текущую историю .

git checkout branch_1
git rebase -i 1
*Remove commit 2 from editor, save and quit*
git checkout branch_2
git rebase -i --root
*Remove commit 2 from editor, save and quit*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...