Мне нужно переписать историю моего репозитория, потому что он содержит некоторые учетные данные. Как я должен изменить корень фиксации Я следовал инструкциям из Git Faq:Git, редактировать root commit для всех ветвей
git rebase -i
позволяет удобно редактировать любые предыдущие коммиты, для корневой фиксации кроме. Следующие команды показывают, как это сделать вручную.# tag the old root git tag root `git rev-list HEAD | tail -1` git checkout -b new-root root # edit... git commit --amend # check out the previous branch git checkout @{-1} # replace old root with amended version git rebase --onto new-root root # cleanup git branch -d new-root git tag -d root
Моя проблема заключается в том, что, хотя у меня есть две ветви и несколько тегов уже в хранилище, и я хотел бы, что моя история переписана, чтобы обратиться к тем, тоже. Репо еще не является публичным, так что это не проблема. Я уже спрашивал similar question, но в этом случае команда git rebase
не использовалась. Вот базовый график моего репо:
+ master branch
|
| + topic branch
| |
| |
+---+
|
|
|
+ TAG
|
+ Initial commit, the commit I'd like to amend for all branches
Возможно ли это?
Возможно, связано: [Изменить/изменить/изменить/изменить первый/корневой/начальный коммит в Git?] (Http://stackoverflow.com/q/2119480/456814). – 2014-05-15 08:47:24