系统相关
首页 > 系统相关> > linux-如何删除没有rm -rf sledgehammer的单个git仓库克隆?

linux-如何删除没有rm -rf sledgehammer的单个git仓库克隆?

作者:互联网

不能仅使用rm -r删除git repo,因为.git目录包含许多写保护的文件.我是所有者,因此我有权删除这些文件,但一一确认所有文件都是不可行的.

现在,可以通过在-rm中添加-f标志来在一个命令中完成所有操作,但这意味着我失去了所有保护,无法删除出于正当理由而受到保护的内容.例如,另一个带有本地分支的git存储库,我还没有推送.

但这似乎是唯一的方法,所以最近我发现自己做了很多rm -rf,但是我对此总是感到不安.有没有更好的方法来摆脱单个回购克隆,它不会询问成千上万个单独的文件,但是如果我尝试擦除单个回购中的东西会失败?理想情况下,它还应该在实际删除存储库之前检查我要删除的存储库是否具有一些最新的远程服务器.

我不太清楚这个问题尚不清楚…就是这样:

如何使用不删除包含写保护文件的其他目录的命令删除所有内容的存储库?

解决方法:

首先,收集所有垃圾对象:

git gc --prune=all

然后,仅剩下一个压缩包文件(只读)和相应的压缩包索引(只读).现在

cd ..
rm -r repo

只会要求两次确认,而不是数千次.

但是,这不能防止删除已检出的子模块.

标签:file-permissions,linux,git
来源: https://codeday.me/bug/20191026/1933985.html