Комментарий Бен Джеймса точен. Однако вы можете запустить новую ветку в вашем текущем хранилище. Оттуда, строить историю этой ветви, как вы хотите. Когда вы публикуете, только выдвигайте эту конкретную публичную ветку. Это обеспечит вам ту функциональность, которую вы ищете.
Вот как я только что сделал это в моем тестовом примере:
git branch stackoverflow #Get myself a working branch from current
git rebase -i deadbeef #0xDEADBEEF is the hex of my first commit
Раздави все, что хочешь спрятать. Обратите внимание, что git получает PISSED, если у вас есть хранилище с несколькими корнями. Это не должно быть возможно, но я только что обнаружил, что с помощью некоторых магических преобразований SVN я создал такого зверя.
Проект также может иметь несколько корней, хотя это не является распространенным (или обязательно хорошей идеей).
Экспорт новой ветки. Оттуда вы можете рассматривать это как основную ветку разработки, а все остальное как актуальную или историческую ветвь, которая не раскрывается.