Git - переупорядочить ветку коммитов - PullRequest
0 голосов
/ 15 октября 2019

У меня есть следующая проблема, которую мне нужно решить с помощью GIT.

У меня есть следующее:

+----------+                                            +----------+
| Branch-0 | --> commit0, commit1, commit2, commit3 --> | Branch-2 | --> commit4
+----------+                                            +----------+

+----------+
| Branch-1 | --> commit5
+----------+

Я бы хотел изменить ее на:

+----------+
| Branch-0 | --> commit0
+----------+

+----------+                                            +----------+
| Branch-1 | --> commit5, commit1, commit2, commit3 --> | Branch-2 | --> commit4
+----------+                                            +----------+

Я думаю, мне нужно использовать git rebase, но не уверен.

Будет ли работать следующее?

git checkout Branch-0
git rebase Branch-1
git checkout Branch-1
git rebase Branch-0
git push

1 Ответ

0 голосов
/ 15 октября 2019

Я думаю, что вишневый выбор был бы лучшим подходом здесь.

Для ветви-1 вы можете сделать это:

git cherry-pick branch0~3..branc0

для brahcn-0 вам нужно будет сбросить

git reset HEAD~3 --hard

ветвь 2, вам, вероятно, потребуется воссоздать

git checkout branch-0
git checkout -b branch-2-tmp
git cherry-pick branch-2
git branch -D branch-2
git branch -m branch-2-tmp branch-2
...