мерзавец, как переместить старый коммит до головы, не теряя других коммитов - PullRequest
0 голосов
/ 25 октября 2019

У меня есть локальная ветка с такими коммитами, как: head / master 5 4 3 2 1

Я хочу переместить 3 в голову и не потерять другие коммиты: head / master 3 5 4 2 1 Isдля чего это ребаз? (Очевидно, я новичок)

Идеи? заранее спасибо

Ответы [ 2 ]

1 голос
/ 25 октября 2019

Используйте git rebase:

 git rebase -i HEAD~5

После HEAD~ стоит номер пять - он такой же, как и ваши коммиты. После выполнения этой команды ваш редактор * должен запуститься. В нем есть список ваших последних 5 коммитов (помните HEAD~5?). Теперь измените положение коммитов в списке коммитов, которые вам представлены, сохраните и закройте редактор. Вы сделали. Положение коммитов изменилось.

* Как заставить Git использовать выбранный мной редактор для коммитов?

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

Если вы хотите изменить порядок ревизий, это достаточно просто:

git checkout 2
git cherry-pick 3..5 # this will discard revision 3 so changes from revisions 4 and 5 will be applied
git cherry-pick 3 # apply change from revision 3
# if you like the result
git branch -f master
git checkout master
# push -f if needed because you rewrote history
...