![](/img/trans.png)
[英]Delete or remove all history, commits, and branches from a remote Git repo?
[英]Delete all files and history from remote Git repo without deleting repo itself
如果有人能告诉我如何删除我的git存储库中的每个文件/文件夹而不实际删除存储库本身,我将不胜感激。 我想删除与这些文件相关的所有历史记录。
正如我在回答中解释删除或删除远程Git仓库中的所有历史记录,提交和分支? ,你也可以通过以下方式实现与Ceilingfish的答案相同的事情(即删除远程仓库中的所有引用/分支/标签):
使用初始提交创建新的空仓库:
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
这将删除远程仓库中的所有引用/分支/标签 ,任何悬挂提交最终都可能被垃圾收集。 从git push
的官方Linux Kernel Git文档 (强调我的):
--mirror
而不是将每个引用命名为push,指定将
refs/
下的所有引用(包括但不限于refs/heads/
,refs/remotes/
和refs/tags/
)镜像到远程存储库。 新创建的本地引用将被推送到远程端,本地更新的引用将在远程端强制更新,并且已删除的引用将从远程端删除 。
您可以从这样的存储库远程删除分支
git push origin :branchname
如果您有任何标签,可以删除它们,如下所示:
git push origin :refs/tags/tagname
这假设你有一个远程设置为github称为origin
但是,这会在您的计算机上留下本地标签/分支。
这就是我所做的
git rm -r -f -q
git commit
git push
然后你必须手动删除文件,git rm从repo中删除文件,但不从文件系统中删除
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.