805 Views
Tempo de leitura: 4 MinutosO 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.

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:
01 | apt-get update && apt-get install git |
2 – Agora é preciso criar o usuário que utilizaremos para acessar o repositório do Git.
01 | useradd 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’:
01 | mkdir -p /home/git/repos/lab.git |
4 – Agora ajustaremos o owner:group dos diretórios que criamos:
01 | chown -R git:git /home/git |
5 – Vamos usar o usuário ‘git’ para configurar o repo. Assim não precisaremos ajustar owner:group novamente:
01 | su git -l |
6 – Agora entre no path onde manteremos a estrutura do repo:
01 | cd repos/lab.git |
7 – Por fim, vamos iniciar um repo aqui. Para isso, utilizaremos o comando abaixo:
01 | git --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:
01 | usermod -s /usr/bin/git-shell |
Com isso, ao tentarmos logar com o usuário “git”, receberá a mensagem abaixo:
01 | # su git -l |
02 | fatal: Interactive git shell is not enabled. |
03 | hint: ~/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:
01 | mkdir ~/Git/ |
2 – Entre nesse diretório:
01 | cd ~/Git/ |
3 – Agora clone o repositório remoto para o seu desktop com o comando:
01 | git clone git@host-ou-ip- do -servidor:~/repos/lab.git |
4 – Se tudo der certo, terá criado um diretório chamado “lab”. Entre nele.
01 | cd lab |
5 – Faremos agora o primeiro commit. Primeiro, crie um arquivo em branco:
01 | touch la_vai_meu_teste.txt |
6 – Adicione esse arquivo ao Git:
01 | git add la_vai_meu_teste.txt |
7 – Comente esta inclusão:
01 | git commit -am "Meu primeiro commit uhull" la_vai_meu_teste.txt |
8 – E por fim, suba a alteração para o git server:
01 | git push |
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 :)