Aprenda o básico de Git em 5 minutos

Marcos Barcelos
5 min readMar 19, 2022

--

imagem ilustrativa de uma pessoa digitando a palavra Git na tela de seu computador.

Se você nunca utilizou o Git em seus projetos anteriormente já deve ter sentido a falta de um mecanismo que armazene seu código e facilite o histórico de alteração dele, mas não se preocupe, hoje iremos aprender o essencial para dominar esta ferramenta tão importante no mundo do desenvolvimento.

Git é o sistema de controle de versionamento mais utilizado. Sua função não se limita apenas ao desenvolvimento, uma vez que pode ser utilizado para registrar o histórico de edições de qualquer tipo de arquivo. Uma das principais funções do Git para além do versionamento é contribuir para a colaboração, permitindo que as alterações feitas por várias pessoas sejam mescladas em uma única fonte.

Instalando o Git

Primeiramente, é válido verificar se você já tem o Git instalado em sua máquina, para tanto, execute isso em seu terminal:

git version 
# git version 2.35.1 //Output

Caso você ainda não tenha, siga as instruções em:

Usuários de Mac podem instalá-lo com brew:brew install git

Usuários de Linux podem instalá-lo com sudo: sudo apt-get install git

Configurando o ambiente

git config --global user.name "Fulano de Tal"
git config --global user.email fulanodetal@exemplo.br

O indicado é que os dados informados sejam os mesmos de sua conta no Github, mas não iremos nos aprofundar nisso neste artigo.

Você pode listar sua configuração global com:

git config --list

Criando um repositório

Um repositório nada mais é que uma pasta com todos os arquivos que você deseja versionar.

Para criar um, execute este comando:

git init //em caso de um diretório existente ||
git init <project directory> //caso deseje iniciar em uma nova pasta
git config --global init.defaultbranch main //define main como branch default

Para este tutorial, recomendo que você crie uma novo diretório vazio com:

mkdir gittutorial //cria um novo diretório com o nome "gitutorial"
cd gittutorial //altera para o nossa nova pasta
git init //cria um repostório no nosso diretório vazio

Fazendo alterações

Para isso, vamos criar um arquivo no nosso diretório de exemplo:

echo "Olá, Git" >> hello.txt

Se executarmos git statusveremos que um novo arquivo não rastreado foi criado em nosso diretório:

git status
# On branch main
#
# No commits yet
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
# hello.txt
#
# nothing added to commit but untracked files present (use "git add" to track)

Como sugere a saída, devemos adicionar o novo arquivo. Para isso, execute:

git add . //caso deseje adicionar todo os arquivos da pasta
git add hello.txt //caso deseje adicionar o arquivo especifico

Se rodarmos novamente o git status , a saída indicará que o arquivo foi adicionado - etapa também conhecido como staged , mas ainda não confirmado - etapa denominada commit:

git status
# On branch main
#
# No commits yet
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
# new file: hello.txt

Para confirmar e gravar as alterações, rode o comando git commit:

git commit -m "Adiciona hello.txt"
# [main (root-commit) a07ee27] Adds hello.txt
# 1 file changed, 2 insertions(+)
# create mode 100644 hello.txt

Dica: git commit -m "mensagem" é um comando abreviado, para consultar mais informações você pode utilizar apenas o git commit.

Dica 2: A mensagem que acompanha seu commit deve ser clara e descritiva das alterações realizadas, para que facilite a compreensão do histórico de versionamento quando outra pessoa ou até você mesmo trabalhe no código futuramente.

Criando ramificações (branches)

Em um determinado momento você sentirá a necessidade de ter uma parte separada do código fonte, seja pela necessidade de testes pelo o qual você ainda não tem certeza ou apenas para evitar conflitos de código.

E é nesse sentido que surgem as ramificações — conceito também determinado de branch.

Para criar uma nova branch podemos utilizar git branch NAME , já para alteramos entre as branches existentes git checkout NAME . Vamos aos exemplos:

git branch novaBranch //cria uma nova branch
git checkout -b novaBranch //alterna para a nova branch
# gittutorial git:(novaBranch) //saída indicando nova branch

Vamos realizar uma alteração no nosso arquivo hello.txt através da nossa nova branch:

echo "\nHello, Git Branch" >> hello.txt //altera texto de hello.txt
git commit -am "Alterar hello.txt" //confirma alteração

Se retornamos para nossa branch principal (main), iremos notar que nada foi alterado nela:

git checkout main //alterna para a branch main
cat hello.txt //retorna o que tem no arquivo
# Olá, Git (saída)

Isso acontece porquê como já dito anteriormente, o conceito de ramificações é justamente isolar uma nova implementação do código fonte, para que teste sejam realizados e caso aprovado, será realizado a junção de ambos.

Mesclagem de ramificações (branches)

Como informado no último parágrafo do tópico anterior, em um determinado momento será necessário unificar a alteração feita no código da nova branch com o do código fonte (branch main). Para tanto, utilizamos o comando git merge que de uma tradução direta significa “ mesclar”.

Ainda na branch main vamos realizar a seguinte instrução:

git merge novaBranch
#Updating 26e1c06..f98f254
#Fast-forward
#hello.txt | 1 +
#1 file changed, 1 insertion(+)
cat hello.txt
#olá, Git
#Hello, Git Branch

Como podemos verificar, ao rodarmos o comando merge o conteúdo das branches foram unificados em um só arquivo na main. Agora, caso queiramos deletar a branch “novaBranch” basta inserirmos o comando git -d novaBranch , vejamos:

git branch -d novaBranch
#Deleted branch novaBranch(was f98f254).

Repositório remoto

Para continuarmos com nosso tutorial será necessário criar uma conta no Github. Após, faça login e crie um novo repositório vazio (privado ou público).

Supondo que o nome do repositório seja “tutorial”, execute o seguinte comando (mude para seu nome de usuário):

git remote add origin git@github.com:USERNAME/tutorial.git
git push -u origin main

Vamos agora desvendar os comandos inseridos anteriormente:

git remote add origin: este comando adiciona um link ou chave SSH que podem ser encontrados na página do seu repositório github, para torná-los o destino de origem das suas alterações.

git push -u origin main: este comando realiza um “push” ou seja, ele puxa todo os arquivos do diretório local da sua máquina e envia para a origem, destino que foi informado com o comando explicado anteriormente.

Para realizar o papel inverso, ou seja, caso seja feito uma alteração no repositório remoto do Github, podemos através do Git unificar essas alterações ao nosso código por meio do comando git pull .

Vejamos:

git pull origin main

É isso, hoje aprendemos o básico de Git e um pouquinho de Github que já será suficiente para expor aquele projetinho para impressionar os recrutadores, mas claro, não se limite a isso existem diversos outro metódos git. Desde já, grato pela leitura!

--

--

Marcos Barcelos
Marcos Barcelos

Written by Marcos Barcelos

He/Him. Computer science student. I like languages, games, music and anime.