Вы не хотите сделать это.Реальная история в том смысле, как вы сделали коммит, ничего не стоит.Чанки подходящего размера для обзора интересны, так что просто rebase -i
ваша рабочая ветвь объединяет коммиты с управляемыми по размеру и наиболее важными логическими чанками, публикуйте их для обзора и забывайте об исходной истории.
* 1005Тем не менее, чтобы объединить коммиты, вы можете использовать:
git merge --squash
Git не будет выбрасывать историю.На самом деле это не происходит в rebase
, но в этом случае предыдущая версия истории остается доступной только через «reflog», и только если у вас есть срок действия для reflogs (IIRC по умолчанию составляет 90 дней), в конечном итогестанет недоступным и git gc
выбросит его.Но с помощью сквоша оригинальная ветвь просто остается там, и вы все равно можете назвать ревизию из reflog.
Однако рецензируемая история будет объединена с центральным мастером с помощью инструмента рецензирования, и никто никогда не увидит вашу оригинальную историю.,Вы можете держать это рядом, но это не будет связано с официальным, и никто никогда не будет смотреть на это так или иначе.