Свести старую историю в Git

У меня есть проект git, который работал какое-то время, и теперь я хочу выбросить старую историю, скажем, от начала до двух лет назад. Под выбросом я подразумеваю замену множества коммитов за это время одним коммитом, делающим то же самое.

Я проверил git rebase -i , но это не удаляет другую (полную) историю, содержащую все коммиты из git.

Вот графическое представление (d - набор изменений):

 ( база) -> d1 -> d2 -> d3 -> (ГОЛОВА) Под выбросом я имею в виду замену многих коммитов за это время ...  

У меня есть проект git, который работал какое-то время, и теперь я хочу выбросить старую историю, скажем, от начала до двух лет назад. Под выбросом я подразумеваю замену множества коммитов за это время одним коммитом, делающим то же самое.

Я проверил git rebase -i , но это не удаляет другую (полную) историю, содержащую все коммиты из git.

Вот графическое представление (d - набор изменений):

 ( база) -> d1 -> d2 -> d3 -> (ГОЛОВА) Под выбросом я имею в виду замену многих коммитов за это время ...  

У меня есть проект git, который работал какое-то время, и теперь я хочу выбросить старую историю, скажем, от начала до двух лет назад. Под выбросом я подразумеваю замену множества коммитов за это время одним коммитом, делающим то же самое.

Я проверил git rebase -i , но это не удаляет другую (полную) историю, содержащую все коммиты из git.

Вот графическое представление (d - набор изменений):

 ( база) -> d1 -> d2 -> d3 -> (ГОЛОВА) Под выбросом я имею в виду замену множества коммитов за это время одним коммитом, делающим то же самое. 

Я проверил git rebase -i , но это не удаляет другую (полную) историю, содержащую все коммиты из git.

Вот графическое представление (d - набор изменений):

 ( база) -> d1 -> d2 -> d3 -> (ГОЛОВА) Под выбросом я имею в виду замену множества коммитов за это время одним коммитом, делающим то же самое. 

Я проверил git rebase -i , но это не удаляет другую (полную) историю, содержащую все коммиты из git.

Вот графическое представление (d - набор изменений):

 ( база) -> d1 -> d2 -> d3 -> (ГОЛОВА)

Я хочу:

 (база) -> d1, d2 -> d3 -> (ГОЛОВА)

Как это могло быть сделано? Спасибо.

РЕДАКТИРОВАТЬ

Я заставил его работать с

git rebase -i cd1e8c9

, где cd1e8c9 - это начальная ревизия (базовая) для сквоша. Затем я использовал исправление, чтобы объединить исправления. Спасибо.

13
задан Noufal Ibrahim 22 December 2010 в 08:57
поделиться