从远程Git仓库中删除所有文件和历史logging,而不删除仓库本身

我将不胜感激,如果有人可以告诉我如何删除我的git存储库上的每个文件/文件夹,而不实际删除存储库本身。 我想要删除与这些文件相关的所有历史logging。

您可以像这样从远程存储库中删除一个分支

git push origin :branchname 

如果你有任何标签,你可以像这样删除它们:

 git push origin :refs/tags/tagname 

这是假设你有一个远程设置为github所谓的起源

但是,这将使您的计算机上的本地标签/分支。

正如我在这个答案解释删除或删除远程Git仓库的所有历史,提交和分支? ,您也可以通过执行以下操作来实现Ceilingfish的回答 (即,删除远程回购中的所有引用/分支/标记):

  1. 用初始提交创build新的空回购:

     mkdir new cd new echo "This is the README" > README.md git init git add . git commit -m "Add README.md (initial commit)" 
  2. 添加远程回购作为起源:

     git remote add origin <url-to-remote> 
  3. 镜像推送到远程:

     git push origin --mirror 

这将删除您的远程仓库中的所有引用/分支/标签 ,任何悬而未决的提交最终都可能被垃圾收集。 从官方的Linux内核Git的git push文件 (重点是我的):

 --mirror 

指定refs/ (包括但不限于refs/heads/refs/remotes/refs/tags/ )的所有refs/tags/被镜像到远程仓库,而不是命名每个ref。 新创build的本地参考将被推送到远端,本地更新的参考将在远端强制更新, 删除的参考将从远端移除

这就是我所做的

git rm -r -f -q

git commit

混帐推

然后,你必须手动删除文件,git rm从文件系统中删除文件,而不是从文件系统