Как удалить всю историю фиксации в github?
Я хочу удалить всю историю фиксации, но сохраните код в текущем состоянии.
потому что в моей истории фиксации слишком много неиспользуемых коммитов.
Как я могу это сделать?
существует ли команда git?
git filter-branch ?
git rebase ?
...
мой хост кода в github.com.
Ответы
Ответ 1
Удаление папки .git
может привести к проблемам в репозитории git. Если вы хотите удалить всю историю фиксации, но сохраните код в текущем состоянии, очень безопасно это сделать, как показано ниже:
-
Оформить заказ
git checkout --orphan latest_branch
-
Добавьте все файлы
git add -A
-
Зафиксировать изменения
git commit -am "commit message"
-
Удалите ветвь
git branch -D master
-
Переименуйте текущую ветвь на мастер
git branch -m master
-
Наконец, принудительно обновите репозиторий
git push -f origin master
PS: это не приведет к сохранению вашей старой истории фиксаций вокруг
Ответ 2
Если вы уверены, что хотите удалить всю историю фиксаций, просто удалите каталог .git
в корне вашего проекта (обратите внимание, что он скрыт). Затем инициализируйте новый репозиторий в той же папке и привяжите его к репозиторию GitHub:
git init
git remote add origin [email protected]:user/repo
теперь зафиксируйте текущую версию кода
git add *
git commit -am 'message'
и, наконец, принудительно обновить GitHub:
git push -f origin master
Однако я предлагаю создать резервную копию истории (папка .git
в репозитории), прежде чем предпринимать следующие шаги!