Onde é o local convencional para armazenar repositórios git em uma árvore do sistema de arquivos linux?

54

Se eu fizer uma analogia com a hospedagem de um servidor web, eu diria que os dados do git devem estar em /var/git , então meu repositório git estaria em /var/git/myrepo

Q : Esse é o palpite certo?

    
por Samuel Rossille 28.09.2012 / 14:07

8 respostas

30

Não há uma resposta certa ou errada aqui, exceto a ditada pela sua própria religião pessoal e o conteúdo da página hier(7) em seu sistema.

Linux típico hier manpage ; típico BSD hier manpage )

/var/git/* parece razoável para mim pessoalmente. É onde eu mantenho o meu.

    
por 28.09.2012 / 14:32
27

Coloque-o em um diretório (ou sistema de arquivos compartilhado) em /srv . É para isso que é.

O diretório /srv é destinado a dados específicos do site veiculados pelo sistema . Do padrão:

This main purpose of specifying this is so that users may find the location of the data files for particular service, and so that services which require a single tree for readonly data, writable data and scripts (such as cgi scripts) can be reasonably placed. Data that is only of interest to a specific user should go in that users' home directory.

The methodology used to name subdirectories of /srv is unspecified as there is currently no consensus on how this should be done. One method for structuring data under /srv is by protocol, eg. ftp, rsync, www, and cvs. On large systems it can be useful to structure /srv by administrative context, such as /srv/physics/www, /srv/compsci/cvs, etc. This setup will differ from host to host. Therefore, no program should rely on a specific subdirectory structure of /srv existing or data necessarily being stored in /srv. However /srv should always exist on FHS compliant systems and should be used as the default location for such data.

Distributions must take care not to remove locally placed files in these directories without administrator permission.

Em um sistema habilitado para o SELinux, o diretório padrão é /var/www/git , e os repos devem estar em subdiretórios. Ou você pode usar, por exemplo /srv/git e defina o contexto do arquivo como equivalente:

semanage fcontext -a -e /var/www/git /srv/git
    
por 01.10.2012 / 12:13
5
/home/git/

Isso pode parecer um pouco não convencional no começo, mas é muito razoável que esse diretório seja feito para você (com as permissões corretas) quando você faz sudo useradd git . Você pode simplesmente mudar para o usuário git, cd e executar imediatamente:

$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys

e coloque chaves públicas de seus colegas no arquivo authorized_keys recém-criado.

Após você git init --bare do seu projeto, o "url" é apenas ... aguarde ...

git@<server>:<project>
    
por 03.03.2016 / 20:12
1

Como voretaq7 disse, não há resposta certa ou errada sobre tal assunto. No entanto, se você quiser acompanhar os soft, parece que os softwares do banco de dados armazenam seus dados em

/var/lib/soft

Por exemplo, para o Postgresql 9.1 no debian, a pasta é

/var/lib/postgresql/9.1/

Então eu pessoalmente escolheria

/var/lib/git
    
por 01.10.2012 / 10:03
1

É inteiramente com você. O ideal é que você coloque o diretório de dados git em uma partição separada ou mesmo em um disco para tornar as atualizações do sistema, etc. mais fáceis e, é claro, certifique-se de que haja espaço em disco suficiente disponível.

    
por 01.03.2013 / 10:25
1

No meu Arch Linux, eu tenho /srv/http para o apache (que é o padrão do sistema) e também o uso para meus servidores http node node.js. Da mesma forma, decidi colocar todos os repositórios git em /srv/git .

Eu uso o GitLab, e /srv/git é a pasta pessoal do git nesse caso também.

Por fim, depende de você. Descobri que manter um formato semelhante a outros serviços da sua distro é fácil de lembrar.

    
por 30.01.2014 / 17:05
0

Se você usar algum frontend para git, basta ir onde quer que o pacote da sua distribuição queira colocá-los. Qualquer outra coisa está apenas criando incompatibilidades desnecessárias.

    
por 01.03.2013 / 18:10
0

Primeiro, em relação à sugestão de usar / srv, você está supondo que todos os repositórios git são usados para sites. Pode ser verdade para você, mas você pode ter um software que não é um site.

Segundo, ao armazenar seus repositórios de código fora do / var / www / html ou / srv / html, você obtém dois bons benefícios. Você pode criar links simbólicos em seu repositório em qualquer nível, facilitando a ocultação de suas bibliotecas. Além disso, se a localização do seu repositório mudar, você não precisará modificar suas configurações de host virtual. Em vez disso, você apenas ajusta seus links simbólicos.

Eu estava usando o / var / repo, mas acho que o / var / git é melhor, e vou usá-lo a partir de agora.

    
por 21.11.2016 / 17:44