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