Предположим, я работаю над веткой под названием my-branch
, время от времени объединяя коммиты из master
, чтобы оставаться в курсе последних событий. При некоторых слияниях мне приходилось разрешать конфликты, что отнимало много времени.
Теперь я закончил с my-branch
и хочу перебазировать его на один коммит поверх master
. Во время перебазирования мне придется разрешать те же конфликты, что будет утомительно.
Но у меня уже есть точное состояние, в котором мне нужны файлы, я просто хочу очистить историю. Итак, самый быстрый способ перебазировать:
- Перемотать на мастер
- Сделайте файлы такими же, как в
my-branch
, но отбросив историю коммитов. На данный момент у меня было бы много незафиксированных изменений. - Сделать один коммит
Это возможно?
РЕДАКТИРОВАТЬ: ТАК говорит мне объяснить, почему мой вопрос не является дубликатом этот. В то время как ответ, получивший наибольшее количество голосов, решил бы мою проблему, вопрос заключается в том, «как раздавить коммиты?» и мой: «Я знаю, как раздавить коммиты, как это сделать, не имея конфликтов?». Итак, ответ тот же, но я не нашел его, когда искал решение, прежде чем публиковать здесь. Возможно, если кто-то еще знает о rebase, но не знает о программном сбросе, он найдет решение здесь.
git reset --soft
, намного популярнее, чем ответ, основанный наgit rebase
. - person eftshift0   schedule 21.02.2019