Como excluir o repositório Git com Gitosis


10

Estou usando o Gitosis para administrar alguns repositórios do Git em um servidor remoto. Desde que estou no começo, cometo muitos erros. É por isso que agora eu preciso excluir um repositório Git que criei com o Gitosis. Isso é possível usando Gitosis ou tenho que fazer login nessa máquina e fazer a partir daí?

Respostas:


13

A gitosis, por si só, não possui uma função de remoção devido à maneira como é gerenciada por meio de confirmações do git. Se você remover o repositório gitosis.confe confirmar a alteração, o repositório não estará mais acessível. Você pode reativá-lo mais tarde ou, eventualmente, pode efetuar login no servidor e remover o arquivo do repositories/diretório gitosis .

Eu clonei meu gitosis-admin.gitrepositório e adicionei o seguinte e confirmei:

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

Fui ao meu diretório pessoal e executei o seguinte:

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

Isso deve test1ser enviado com êxito ao servidor e, em seguida, limpei o diretório e o clonei da 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

Isso também deve ser enviado com êxito, para que eu remova a test1linha da gitosis.confconfiguração e confirme a alteração ... Em seguida, tente o seguinte:

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

Ao contrário dos dois push anteriores, este falha com a seguinte mensagem de erro:

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

O erro ocorre porque a gitosis não tem nada configurado para o test1repositório agora. Se você tentar clonar o repositório novamente, receberá o mesmo erro.


5
Depois disso, você pode remover os repositórios físicos no servidor. Faça o login, vá para o diretório home do git, vá para "repositórios" de lá e você terá diretórios para todos os seus repositórios. Remova os que você desativou no gitosis.conf.
Eugene Lazutkin

2

Você precisa fazer login na máquina e remover o repositório e, em seguida, remover o repositório do arquivo de configuração de gitosis.


0

A resposta de Jeremy Bouse é uma boa estratégia, mas na verdade não exclui o repositório. Às vezes, você pode precisar especificamente excluir o repositório devido a espaço em disco, segurança etc.

Por isso, recomendo o método ultrafedde, com a adição de que você provavelmente precisará suremover o repositório que o usuário "git" que você possui possui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.