Удалить полную историю Git без удаления хранилища? - PullRequest
8 голосов
/ 16 марта 2011

Мой вопрос может показаться немного странным, поскольку то, что я хочу, обычно можно сделать, просто удалив хранилище и создав новое.Вот причина, по которой мне все еще нужно хранить репозиторий: история моего репозитория на самом деле является наиболее ценной частью репозитория.Я создаю целый репозиторий со всеми данными.Хранилище размещено на github, и я хочу обновить его там, чтобы оно выглядело точно , как локальный репозиторий (идентичная история).

Единственный способ, который я нашел, - этобыло удалить и воссоздать репозиторий на GitHub, прежде чем нажать на него.В противном случае все старые коммиты все еще были бы там, эффективно изменяя историческую информацию хранилища.Конечно, довольно легко создать репозиторий на github, но вместе с репозиторием все наблюдатели, информация вики и т. Д. Теряются, и я хотел бы предотвратить это.

Я разместил здесь вместо github, так какЯ думаю, что этот вопрос скорее относится к Git, чем к хостингу.

Есть мысли?

Ответы [ 2 ]

5 голосов
/ 16 марта 2011

Принудительный толчок, такой как git push origin +master, должен помочь.Все удаленные изменения будут потеряны.

2 голосов
/ 16 марта 2011

Шаг 1: Удалить все удаленные ветви:

git fetch
git branch -r

Для каждой строки вывода (они должны выглядеть как origin/master, origin/branch1, ...), добавить ее в строку git pushкак это:

git push origin :master :branch1 ...

Шаг 2. Нажмите свои местные филиалы

git push origin master branch1 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...