Я случайно сделал 10 коммитов на ветке "тестирование", когда я намеревался передать их на ветке "master". Другой фиксатор на ветке "тестирование" - это мусор, поэтому я не хочу объединять его с "мастером". Вместо этого я просто хочу воспроизвести последние 10 коммитов на главном сервере.
Повторное воспроизведение последнего N git выполняется на другой ветке
Ответ 1
- git мастер проверки
- git тесное тестирование
- git cherry-pick _________
?
Ответ 2
Rebase должен это сделать.
git rebase -p --onto master testing~10 testing
Это скопирует последние десять коммитов на тестирование, чтобы освоить и сделать это новое тестирование (старое тестирование будет сиротой). Затем вы можете объединить мастер для тестирования в качестве быстрой перемотки вперед.
git checkout master
git merge testing
Ответ 3
Как сказано в комментариях, в ответном ответе rebase
оставлен "мусор" означает сиротство.
Просто используйте простые инструменты:
git checkout master
git merge testing
git checkout testing
git reset --hard HEAD~10 # Go back 10 commits (*1)
git checkout master
(* 1) Вы будете только "потерять" фиксации из ветки testing
, так как у вас будут те коммиты в master
благодаря merge
.