Git deposu Gitosis ile nasıl silinir


10

Gitosis'i uzak bir sunucudaki bazı Git depolarını yönetmek için kullanıyorum. Onunla başlangıçta olduğum için birçok hata yapıyorum. Bu yüzden Gitosis ile oluşturduğum bir Git deposunu silmem gerekiyor. Gitosis kullanarak bu mümkün mü yoksa o makineye giriş yapıp oradan yapmam gerekir mi?

Yanıtlar:


13

Gitosis, git komutlarıyla yönetilme şekli nedeniyle tek başına bir kaldırma işlevine sahip değildir. Depoyu kaldırır ve gitosis.confdeğişikliği yaparsanız, depoya artık erişilemez. Daha sonra yeniden etkinleştirebilir veya sonunda sunucuda oturum açabilir ve dosyayı gitosis repositories/dizininden kaldırabilirsiniz .

Depomu klonladım gitosis-admin.gitve aşağıdakileri ekledim ve taahhüt ettim :

[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse

Daha sonra ana dizinime gittim ve şunları gerçekleştirdim:

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

Bu başarıyla sunucuya itmek gerekir ve sonra test1dizini sildi ve gitosis klon:

git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push

Bu da başarılı bir şekilde itmek gerekir, bu yüzden sonra yapılandırmak test1satırdan kaldırmak gitosis.confve değişiklik taahhüt ... Sonra aşağıdakileri deneyin:

cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push

Önceki iki itmenin aksine, bu aşağıdaki hata iletisiyle başarısız olur:

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

Hata, gitozun test1depo için yapılandırılmış bir şeye sahip olmamasıdır . Havuzu tekrar klonlamaya çalışırsanız aynı hatayı alırsınız.


5
Bundan sonra sunucudaki fiziksel depoları kaldırabilirsiniz. Giriş yapın, git'in ana dizinine gidin, oradan "depolara" gidin ve tüm depolarınız için dizinleriniz var. Gitosis.conf dosyasında devre dışı bıraktıklarınızı kaldırın.
Eugene Lazutkin

2

Makinede oturum açmanız ve oradaki havuzu kaldırmanız ve ardından havuzu gitosis yapılandırma dosyasından kaldırmanız gerekir.


0

Jeremy Bouse'un cevabı iyi bir stratejidir, ancak repoyu gerçekten silmez . Bazen disk alanı, güvenlik vb. Nedeniyle depoyu silmeniz gerekebilir.

Bu yüzden, sukurulumun "git" kullanıcısının sahip olduğu repoyu kaldırmanız gerekeceği ek olarak, ultrafedde'nin yöntemini tavsiye ederim .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.