如何使用 Gitosis 删除 Git 存储库

Ion*_*tan 10 git

我正在使用 Gitosis 来管理远程服务器上的一些 Git 存储库。因为我是刚开始做的,所以我犯了很多错误。这就是为什么现在我需要删除我用 Gitosis 创建的 Git 存储库。这可以使用 Gitosis 还是我必须登录到那台机器并从那里完成?

Jer*_*use 13

Gitosis 本身没有删除功能,因为它是通过 git commits 管理的。如果您从 中删除存储库gitosis.conf并提交更改,则存储库将不再可访问。您可以稍后重新启用它,或者您最终可以登录服务器并从 gitosisrepositories/目录中删除该文件。

我克隆了我的gitosis-admin.git存储库并添加了以下内容然后提交:

[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Run Code Online (Sandbox Code Playgroud)

然后我转到我的主目录并执行以下操作:

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
Run Code Online (Sandbox Code Playgroud)

这应该成功推送到服务器,然后我擦除了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
Run Code Online (Sandbox Code Playgroud)

这也应该成功推送,所以我然后test1gitosis.conf配置中删除该行并提交更改......然后我尝试以下操作:

cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Run Code Online (Sandbox Code Playgroud)

与前两次推送不同,这次推送失败并显示以下错误消息:

ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

错误是因为 gitosis 现在没有为test1存储库配置任何内容。如果您再次尝试克隆存储库,您将收到相同的错误。

  • 之后,您可以删除服务器上的物理存储库。登录,转到 git 的主目录,从那里转到“存储库”,您将拥有所有存储库的目录。删除您在 gitosis.conf 中禁用的那些。 (5认同)