从远程Git仓库中删除所有文件和历史logging,而不删除仓库本身
我将不胜感激,如果有人可以告诉我如何删除我的git存储库上的每个文件/文件夹,而不实际删除存储库本身。 我想要删除与这些文件相关的所有历史logging。
您可以像这样从远程存储库中删除一个分支
git push origin :branchname
如果你有任何标签,你可以像这样删除它们:
git push origin :refs/tags/tagname
这是假设你有一个远程设置为github所谓的起源
但是,这将使您的计算机上的本地标签/分支。
正如我在这个答案解释删除或删除远程Git仓库的所有历史,提交和分支? ,您也可以通过执行以下操作来实现Ceilingfish的回答 (即,删除远程回购中的所有引用/分支/标记):
-
用初始提交创build新的空回购:
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
指定
refs/
(包括但不限于refs/heads/
,refs/remotes/
和refs/tags/
)的所有refs/tags/
被镜像到远程仓库,而不是命名每个ref。 新创build的本地参考将被推送到远端,本地更新的参考将在远端强制更新, 删除的参考将从远端移除 。
这就是我所做的
git rm -r -f -q
git commit
混帐推
然后,你必须手动删除文件,git rm从文件系统中删除文件,而不是从文件系统