2014-02-17 2 views
0

У меня есть репо, где я хочу удалить все коммиты перед фиксацией с целью изменения первоначальной фиксации репо.Изменить git initial commit, чтобы убить историю

Я создал ветку с его последней фиксацией, как я хочу совершить в качестве нового корня:

git checkout -b newroot SHA 

Затем я создал новые коммиты первоначального обязательства:

git checkout -b initial $(echo "Kill history" | git commit-tree $(git write-tree)) 

Тогда я не хочу, чтобы перебазироваться мастер поверх первоначального запуска от совершения SHA, так что я сделал:

git rebase --onto initial newroot master 

Но перебазироваться делает нет т. Я получаю конфликты после применения некоторых коммитов. Может быть, я что-то не понимаю, но так, как я ее вижу, мне не нужны конфликты, так как я просто хочу применить все коммиты мастера поверх этой новой «поддельной» первоначальной фиксации.

Заранее спасибо.

ответ

0

Вы должны сироту

git checkout --orphan newroot master~10 
git commit -m 'Kill history' 
git cherry-pick master~10..master 
git branch -d master 

In git, is there a simple way of introducing an unrelated branch to a repository?

+0

я до сих пор получить конфликты, делая это, поэтому мои первые команды, где тоже правильно. Мне нужно выяснить, почему я получаю конфликты, решаю их и вижу, что происходит. –

Смежные вопросы