Начиная с выяснения у моего последнего вопроса, который оказался о перебазировании с МЕРЗАВЦЕМ, я решил, что не хочу повторно базироваться вообще. Вместо этого я хочу:
Я делаю это в настоящее время путем копирования файлов в новый каталог и затем копирования их въезжает задним ходом к новому ответвлению (перешел в той же точке как мое рабочее ответвление), и затем слияние это в master
или везде, где.
Это просто плохо и почему? Более важный: существует ли ЛУЧШИЙ путь / МЕРЗАВЕЦ способ сделать это? git rebase -i
вынуждает меня объединиться (и выбор и сквош).
Вы также можете использовать git merge
с параметром - squash
.
Проще всего выполнить мягкий сброс.
Итак, проверьте свою тематическую ветку:
git checkout -b topic master
работа, работа, работа.
git commit
git commit
git commit
git commit
Довольный этим, вы можете сделать новый одиночный коммит поверх мастера.
git reset --soft master
git commit
Теперь выполните слияние с мастером (это будет перемотка вперед) и приведите в порядок ветку темы. (Обратите внимание, что вам не нужно этого делать, если вы готовы запомнить или пометить, где был мастер, и просто работать с мастером без ветвления, вы могли бы только что выполнить git reset --soft old-master
и git commit
, и вам не понадобятся эти последние шаги по очистке.)
git checkout master
git merge topic
git branch -d topic