O que é o git? Como configurar?

Wesley Soares de Souza
TOTVS Developers
Published in
7 min readAug 29, 2023
Ramificação de um projeto (Fonte)

Quando falamos da indústria de software e preparação para entrar no mercado de trabalho como desenvolvedor, algo indispensável no dia a dia é conhecer um controle do versionamento de código fonte através de um repositório, sendo o GIT o mais conhecido e utilizado pela indústria.

Primeiramente precisamos entender o que é um repositório para controle de código fonte, também conhecido como VCS (Version control system). É uma forma de otimizar o trabalho em equipe na indústria de software.

O sistema para controle de versão (VCS) é responsável por rastrear e gerenciar as alterações que ocorrem em um código fonte, e dessa forma ajudam as equipes de desenvolvimento de software a gerenciar as alterações realizadas ao longo do tempo. Um software, ou ferramenta de controle de versão, mantém registros de todas as modificações no código em um tipo de banco de dados. Se ocorrer alguma alteração que faça com que o software, como um todo, pare de funcionar, por exemplo, os desenvolvedores podem ‘voltar no tempo’ e comparar versões anteriores e dessa forma validar onde ocorreu a falha, e assim diminuir e até eliminar interrupções de outros membros da equipe. Isso é possível pois a cada trecho de código novo ou alterado, é criado uma ramificação que permite se ter um rastreio de cada ponto em toda a estrutura do código fonte de um software em desenvolvimento, ou já concluído. Vamos conhecer um pouco mais dessa ferramenta que auxilia e muito o nosso dia a dia.

Um breve histórico do GIT

Surgiu em 2005, por Linus Torvalds e desde então tem se mantido ativamente por Junio Hamano, engenheiro de software japonês. A principal ideia a ser adotada na criação do GIT estava em se ter um sistema: rápido, com projeto simples, forte suporte para desenvolvimento não linear, completamente distribuído e capaz de lidar com projetos em larga escala.

O GIT é uma ferramenta totalmente gratuita de código aberto, que pode ser instalado localmente no sistema operacional Mac, linux, windows e até mesmo no Solaris. Algumas características importantes que o git possui são:

  • Uma abordagem se utilizando da estrutura de rede peer-to-peer, ao contrário de outros que seguem o modelo client-server
  • Permite a criação de vários ramos de código independentes entre si de forma simples e rápida.
  • Utiliza um modelo de dados que garante a integridade através de criptografia de tudo presente no repositório.
  • Em cada commit (integração do código gerado com a estrutura principal) realizado, um código de verificação é gerado tornando cada ação única e rastreável.

Pontuamos algumas das principais características, porém ainda vale ressaltar sua simplicidade no uso. Após a instalação, é necessário somente rodar o comando git-init dentro da pasta que será seu repositório. Da mesma forma, para copiar um repositório da web utilizamos o comando git clone. Estaremos demonstrando mais detalhadamente nos próximos tópicos.

Conceitos básicos

Os repositórios são os locais criados para armazenar seus arquivos de códigos. Podendo ser criados um ou mais repositórios, públicos ou privados, locais ou remotos, e eles podem armazenar não somente os próprios códigos a serem modificados, mas também imagens, áudios, arquivos e outros elementos relacionados ao seu projeto.

A Branch é o nome dado a uma versão (ramificação) do projeto. Isso possibilita gerenciar múltiplas alterações acontecendo simultaneamente.

Para unir as modificações feitas em uma branch ao código original, utilizamos o comando merge. Esse comando permite que todas as alterações feitas em cópias manipuláveis sejam inseridas, após aprovadas, no código-fonte original sem complicações.

Comandos básicos

Segue a lista de alguns comandos introdutórios para se começar a familiarizar com a ferramenta:

  • Init: dá origem a um repositório novo, local ou remoto, ou reinicializa um repositório já existente;
  • Clone: este comando clona o código de um repositório existente para sua manipulação em outro ambiente;
  • Add: este comando adiciona um arquivo alterado a uma ‘staging area’, ou seja, o prepara para ser vinculado a um commit;
  • Commit: este comando move os arquivos da ‘state area’, arquivos modificados ou inseridos no código o qual está se manipulando, para um repositório local;
  • Push: este comando envia arquivos de um repositório local para um repositório remoto. No GitHub, por exemplo;
  • Pull: ao contrário do push, este comando traz um arquivo do repositório remoto para o repositório local;
  • Merge: este comando serve para unir arquivos alterados ao arquivo original de um projeto. Em outras palavras, é ele quem une os branchs aos commits;
  • Log: este comando permite a visualização do histórico de commits de um arquivo ou usuário, ou o acesso de uma versão específica.

Instalando o Git no Windows

Como de se esperar, para se realizar a instalação, faça o download no site oficial, logo após, execute o arquivo e basta seguir as instruções dadas na tela, clicando em Next até a conclusão da instalação.

Fonte: O autor.

Para verificar se a instalação foi realizada com sucesso, utilize o comando abaixo, em um terminal ou pelo git-bash. Deverá aparecer a versão que foi instalada em seu computados:

git --version

Abra o prompt de comando, e execute as seguintes linhas de comando, importante, caso possua uma conta no site github.com, é importante que cadastre localmente o mesmo email.

git config --global user.name "Pedro alves"
git config --global user.email "exemplo@seuemail.com.br"

Após esses passos, o GIT está pronto localmente no windows. Para testar se realmente a configuração deu certo execute o comando:

git config --list

Irá mostrar todos os parâmetros configurados localmente.

Instalando o GIT no linux

Para realizar a instalação utilizando qualquer versão do linux, baseado no debian, é interessante estar acostumado a realizar instalação se utilizando do gerenciador de pacotes apt-get ou yum, estaremos utilizando o apt-get neste momento através do comando:

sudo apt-get update
sudo apt-get install git

Para verificar se a instalação foi realizada com sucesso, utilize o comando, conforme demonstrado anteriormente:

git --version

Após a validação, execute os mesmos comando utilizados no windows:

git config --global user.name "Pedro alves"
git config --global user.email "exemplo@seuemail.com.br"

Vale lembrar que se da mesma forma já possuir uma conta no github.com, utilizar a mesma conta na configuração local.

Como configurar o GIT local com o Github.com

O primeiro passo está em criar uma conta no site github.com. Após se cadastrar vá até a opção ‘Yours repositories’ (seus repositórios), no botão ‘new’ conforme demonstrado abaixo:

Fonte: O autor

Defina o nome do seu repositório e se ele será público ou privado, conforme demonstrado na imagem a seguir, e as outras opções como licença, pode colocar conforme houver necessidade seguindo as informações em tela, caso contrário somente o nome e a permissão de acesso são o suficiente para começar.

Fonte: o autor.

Feito isso, seu primeiro repositório está criado e disponível para ser clonado e manipulado em sua máquina local. Voltando para nossa máquina, é necessário criar uma chave de acesso única para vincular o seu computador com o github.com. Abra o GIT Bash ou o terminal, pode ser em qualquer lugar no seu computador, não necessariamente na pasta que deseja criar seu repositório. Digite a seguinte linha de comando:

ssh-keygen -t rsa -C "seu-email@dominio.com"

Para reforçar, coloque o email utilizado para logar na sua conta do github.com. Nesse momento ele pedirá usuário e senha, eu não quero ter que ficar digitando login e senha toda vez que fizer um envio para o github.com, por isso, nessa hora, clique ENTER todas as vezes que for questionado, até ele finalizar a criação da sua KEYGEN. Essa keygen consiste em uma chave única que garante que é o seu computador que estará registrado com permissão para gerir seus repositórios pela web.

A chave SSH fica criada no arquivo que se encontra no seguinte caminho caso seja windows:

C:\Users\nome-do-seu-usuario\.ssh\id_rsa.pub

Caso seja linux o caminho será:

/home/nome-do-seu-usuario/.ssh\id_rsa.pub

Pegue o conteúdo desse arquivo e copie.

No site do github.com, vá em “settings” (configurações) na opção “SSH and GPG Keys”, clique na opção “new SSH key” conforme demonstrado abaixo, e em título coloque algo, para descrever sua máquina e em Key cole seu ssh-key copiado anteriormente da forma que é demonstrado no campo.

Fonte: O autor.

Pronto! Já estamos com nossa máquina local sincronizada com o portal do github.

Clonando um repositório localmente

Para poder copiar um repositório remoto para sua máquina e começar a criar seu projeto, vá no github.com, em repositórios, selecione o repositório que foi criado no início de nosso artigo, vá no botão “code”, conforme a próxima imagem demonstra, na aba local, na opção SSH e copie a url indicada.

Agora crie uma pasta em seu computador, onde irá colocar o seu código fonte, abra o GIT Bash, ou o terminal do windows, dentro da pasta e execute o comando:

git clone <url-fornecida-no-github>

Com isso nosso repositório remoto está sincronizado localmente, podemos utilizá-lo pelos comandos básicos do git. Espero que o conteúdo possa ter sido de valia em seu aprendizado.

Fontes:

História do GIT

Site oficial GIT

Site oficial Github

Modelo Peer-to-peer

--

--