Ionuț G. Stan Asked: 2009-07-16 08:35:51 +0800 CST2009-07-16 08:35:51 +0800 CST 2009-07-16 08:35:51 +0800 CST 如何使用 Gitosis 删除 Git 存储库 772 我正在使用 Gitosis 管理远程服务器上的一些 Git 存储库。由于我一开始就犯了很多错误。这就是为什么现在我需要删除我使用 Gitosis 创建的 Git 存储库。这是否可以使用 Gitosis 或者我必须登录该机器并从那里进行操作? git 3 个回答 Voted Best Answer Jeremy Bouse 2009-08-13T16:26:02+08:002009-08-13T16:26:02+08:00 Gitosis 本身没有删除功能,因为它是通过 git 提交进行管理的。如果您从 中删除存储库gitosis.conf并提交更改,则无法再访问该存储库。您可以稍后重新启用它,或者您最终可以登录服务器并从 gitosisrepositories/目录中删除该文件。 我克隆了我的gitosis-admin.git存储库并添加了以下内容然后提交: [group gitosis-admin] writable = gitosis-admin test1 members = jbouse 然后我转到我的主目录并执行以下操作: mkdir test1 cd test1 git init git remote add origin git@server:test1.git echo "Testing" > test.txt git add test.txt git commit -m 'First commit' git push origin master:refs/heads/master 这应该会成功推送到服务器,然后我将test1目录擦除并从 gitosis 克隆它: git clone git@server:test1.git cd test1 echo "Test worked" > test.txt git add test.txt git commit -m 'Second commit' git push 这也应该成功推送,所以我test1从配置中删除该行gitosis.conf并提交更改......然后我尝试以下操作: cd test1 echo "Final test" > test.txt git add test.txt git commit -m 'Third commit' git push 与前两次推送不同,这次推送失败并显示以下错误消息: ERROR:gitosis.serve.main:Repository read access denied fatal: The remote end hung up unexpectedly 该错误是因为 gitosis 现在没有为test1存储库配置任何内容。如果您尝试再次克隆存储库,您将收到相同的错误。 f.ederi.co 2009-08-08T02:35:53+08:002009-08-08T02:35:53+08:00 您必须登录机器并在那里删除存储库,然后您还必须从 gitosis 配置文件中删除存储库。 bryan kennedy 2010-12-31T08:22:27+08:002010-12-31T08:22:27+08:00 Jeremy Bous 的回答是一个很好的策略,但实际上并没有删除回购。有时,由于磁盘空间、安全性等原因,您可能特别需要删除 repo。 所以我推荐ultrafedde的方法,另外你可能需要su删除你设置的“git”用户拥有的repo。
Gitosis 本身没有删除功能,因为它是通过 git 提交进行管理的。如果您从 中删除存储库
gitosis.conf
并提交更改,则无法再访问该存储库。您可以稍后重新启用它,或者您最终可以登录服务器并从 gitosisrepositories/
目录中删除该文件。我克隆了我的
gitosis-admin.git
存储库并添加了以下内容然后提交:然后我转到我的主目录并执行以下操作:
这应该会成功推送到服务器,然后我将
test1
目录擦除并从 gitosis 克隆它:这也应该成功推送,所以我
test1
从配置中删除该行gitosis.conf
并提交更改......然后我尝试以下操作:与前两次推送不同,这次推送失败并显示以下错误消息:
该错误是因为 gitosis 现在没有为
test1
存储库配置任何内容。如果您尝试再次克隆存储库,您将收到相同的错误。您必须登录机器并在那里删除存储库,然后您还必须从 gitosis 配置文件中删除存储库。
Jeremy Bous 的回答是一个很好的策略,但实际上并没有删除回购。有时,由于磁盘空间、安全性等原因,您可能特别需要删除 repo。
所以我推荐ultrafedde的方法,另外你可能需要
su
删除你设置的“git”用户拥有的repo。