Я был бы признателен, если бы кто-нибудь мог сказать мне, как я могу удалить каждый файл/папку в моем репозитории git без фактического удаления самого репозитория. Я хочу также удалить всю историю, связанную с этими файлами.
Удалите все файлы и историю из удаленного репозитория Git без удаления самого репо
Ответ 1
Вы можете удалить ветку из удаленного хранилища, например
git push origin :branchname
если у вас есть теги, вы можете их удалить следующим образом:
git push origin :refs/tags/tagname
Предполагается, что у вас есть удаленная настройка до github с именем origin
Это приведет к локальным тегам/ветвям на вашем компьютере.
Ответ 2
Как я объясню в этом ответе на Удалить или удалить всю историю, фиксации и ветки с удаленного Git repo?, вы также можете достичь того же, что и Ответ на потолок @ (т.е. удалить все ссылки/ветки/теги в удаленном репо), выполнив следующие действия:
-
Создайте новое пустое репо с первоначальной фиксацией:
mkdir new cd new echo "This is the README" > README.md git init git add . git commit -m "Add README.md (initial commit)"
-
Добавить удаленное репо в качестве источника:
git remote add origin <url-to-remote>
-
Нажмите зеркало на пульте дистанционного управления:
git push origin --mirror
Это будет удалять все ссылки/ветки/теги в удаленном репо, и любые оборванные коммиты, вероятно, будут собраны в мусор. Из официальной документации ядра Linux Git для git push
(выделено мной):
--mirror
Вместо того, чтобы называть каждый ref для push, указывает, что все refs под
refs/
(который включает, но не ограничиваетсяrefs/heads/
,refs/remotes/
иrefs/tags/
), зеркалируются в удаленный репозиторий. Новые локальные ссылки будут перенаправлены на удаленный конец, локально обновленные ссылки будут принудительно обновлены на удаленном конце, а удаленные ссылки будут удалены с удаленного конца.
Ответ 3
Это то, что я сделал
git rm -r -f -q
git commit
git нажмите
Затем вам нужно вручную удалить файлы, git rm удалить файлы из репо, но не из файловой системы