Подтвердить что ты не робот

Удалите все файлы и историю из удаленного репозитория Git без удаления самого репо

Я был бы признателен, если бы кто-нибудь мог сказать мне, как я могу удалить каждый файл/папку в моем репозитории git без фактического удаления самого репозитория. Я хочу также удалить всю историю, связанную с этими файлами.

4b9b3361

Ответ 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 удалить файлы из репо, но не из файловой системы