GitosisでGitリポジトリを削除する方法


10

Gitosisを使用して、リモートサーバー上のGitリポジトリを管理しています。私はそれを始めたばかりなので、多くの間違いを犯します。そのため、今はGitosisで作成したGitリポジトリを削除する必要があります。これはGitosisを使用して可能ですか、それともそのマシンにログインしてそこから実行する必要がありますか?

回答:


13

Gitosis自体は、gitコミットを介して管理されるため、削除機能はありません。からリポジトリを削除しgitosis.confて変更をコミットすると、リポジトリにアクセスできなくなります。後で再度有効にするか、最終的にサーバーにログインしてgitosis repositories/ディレクトリからファイルを削除することができます。

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

前の2つのプッシュとは異なり、これは次のエラーメッセージで失敗します。

ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

エラーは、現在gitosisでtest1リポジトリ用に設定されているものがないためです。リポジトリのクローンを再度作成しようとすると、同じエラーが発生します。


5
その後、サーバー上の物理リポジトリを削除できます。ログインしてgitのホームディレクトリに移動し、そこから「リポジトリ」に移動すると、すべてのリポジトリ用のディレクトリがあります。gitosis.confで無効にしたものを削除します。
ユージーンラズトキン

2

マシンにログインし、そこでリポジトリを削除する必要があります。次に、gitosis構成ファイルからリポジトリを削除する必要もあります。


0

Jeremy Bouseの答えは良い戦略ですが、実際にはリポジトリを削除しません。ディスク容量、セキュリティなどのために、リポジトリを削除する必要がある場合があります。

だから私はultrafeddeの方法をお勧めします。それに加えsuて、セットアップした「git」ユーザーが所有しているリポジトリを削除する必要があるでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.