Tempo de processamento: 0,464 segundos.

Artigos > Configurando um servidor de Git no Debian

805 Views
Tempo de leitura: 4 Minutos 
Atualizado em:

O Git é um sistema de versionamento largamente utilizado por profissionais de TI, principalmente por Sysadmins, desenvolvedores e devops, não necessariamente nesta ordem.

Basicamente, com ele podemos armazenar arquivos e controlar modificações. Isso nos possibilita restaurar versões anteriores, controlar mudanças, saber quando determinada alteração foi realizada, entre outros. O Git possibilita que um mesmo repositório seja utilizado por mais de uma pessoa ao mesmo tempo. Para isso existem controles e cuidados que precisam ser tomados.

Neste artigo explicarei como criar o seu próprio repositório Git, sem utilizar Github. Ou seja, um git server.

Este artigo é de 2015. Ele foi atualizado em 20/02/2025. Algumas coisas podem soar bem básicas para os dias de hoje, mas em 2015 não eram tão difundidas. De toda forma, o conteúdo segue sendo totalmente pertinente.

Como o Git funciona

Antes de instalarmos e configurarmos o Git, vamos entender como ele funciona e onde o seu uso pode ser aplicado.

O Git é um sistema de versionamento de códigos. Para isso ele conta com repositórios de software. Basicamente, incluímos arquivos dentro desse repositório para que o Git versione eles. A cada mudança que fazemos nos arquivos, basta rodar alguns comandos do Git para incluir as mudanças realizadas. Assim o Git estará controlando cada alteração, o que nos permite saber quando cada mudança foi realizada, mesmo após anos.

Outra coisa legal do Git é que mais de uma pessoa pode editar arquivos presentes nos repositórios (De agora em diante vamos usar apenas o termo “repo”). Para isso basta que as pessoas pertinentes tenham uma cópia desse repo e que o repo esteja acessível para todas elas.

Observe que no exemplo acima existe um Git Repo chamado integração disponível em algum lugar na Internet. Existem 2 clones do repositório, ou seja, existem 2 cópias do repositório, pois neste exemplo há duas pessoas trabalhando nesses arquivos.

A medida que uma das pessoas realiza mudanças nos arquivos e roda os comandos do Git para enviar essas instruções para o Git Repo, o clone da outra pessoa fica desatualizado. Nesse caso basta para a outra pessoa rodar o comando git pull o Git se encarregará de baixar as atualizações presentes no repo.

Instalando e configurando um Git Repo em um servidor Linux

No passo a passo abaixo instalaremos o Git em um servidor com Debian.

1 – Primeiramente é preciso instalar o pacote “git” no servidor. Para isso, execute o comando abaixo:

01apt-get update && apt-get install git

2 – Agora é preciso criar o usuário que utilizaremos para acessar o repositório do Git.

01useradd git -s -d /home/git

3 – Agora criaremos o diretório home do usuário ‘git’ (/home/git) e nele o path onde armazenaremos o repositório do nosso primeiro repo que se chamará ‘lab’:

01mkdir -p /home/git/repos/lab.git

4 – Agora ajustaremos o owner:group dos diretórios que criamos:

01chown -R git:git /home/git

5 – Vamos usar o usuário ‘git’ para configurar o repo. Assim não precisaremos ajustar owner:group novamente:

6 – Agora entre no path onde manteremos a estrutura do repo:

01cd repos/lab.git

7 – Por fim, vamos iniciar um repo aqui. Para isso, utilizaremos o comando abaixo:

01git --bare init

8 – Deslogue do usuário “git” e volte com o usuário “root”.

Daqui para frente pouco utiliará o usuário “git”. Portanto, vamos aumentar a segurança do user trocando seu shell default.

Dica de Segurança:

9 – Altere o shell do usuário “git” para deixar seu repo mais seguro:

01usermod -s /usr/bin/git-shell

Com isso, ao tentarmos logar com o usuário “git”, receberá a mensagem abaixo:

01# su git -l
02fatal: Interactive git shell is not enabled.
03hint: ~/git-shell-commands should exist and have read and execute access.

Seu Git Repo está configurado no seu servidor. Agora vamos clonar esse repositório com a configuração a seguir.

Configurações feitas no desktop:

Agora vamos configurar nosso desktop.

1 – Crie um diretório onde manterá o repo local:

01mkdir ~/Git/

2 – Entre nesse diretório:

3 – Agora clone o repositório remoto para o seu desktop com o comando:

01git clone git@host-ou-ip-do-servidor:~/repos/lab.git

4 – Se tudo der certo, terá criado um diretório chamado “lab”. Entre nele.

5 – Faremos agora o primeiro commit. Primeiro, crie um arquivo em branco:

01touch la_vai_meu_teste.txt

6 – Adicione esse arquivo ao Git:

01git add la_vai_meu_teste.txt

7 – Comente esta inclusão:

01git commit -am "Meu primeiro commit uhull" la_vai_meu_teste.txt

8 – E por fim, suba a alteração para o git server:

Conclusão:

Versionamento é essencial nos dias de hoje. Mesmo que você não trabalhe em conjunto com outros profissionais, saber um pouco de Git é primordial para manter organizados seus arquivos de configurações, controle e/ou consulta. E não me venha falar de Dropbox, Evernote, etc… isso é para amadores e preguiçosos e você não é um :)

0 - 0

Thank You For Your Vote!

Sorry You have Already Voted!