Back to blog

Comandos Básicos

5 min de leitura
1375 palavras

Comandos Essenciais do Git para Desenvolvedores

O Git é uma das ferramentas que permite o controle de versão eficiente de código, facilitando a colaboração em equipe e o acompanhamento do histórico de desenvolvimento. Se você está começando ou já tem alguma experiência, dominar os comandos Git é essencial para um fluxo de trabalho produtivo. Neste post, vamos explorar alguns dos comandos mais úteis e amplamente utilizados.

1. git init

O comando git init inicializa um novo repositório Git no diretório atual. Ele cria um diretório oculto .git, onde o Git armazena todas as informações sobre o repositório.

git init

2. git clone

Esse comando é utilizado para clonar (copiar) um repositório remoto para o seu ambiente local.

git clone <URL-do-repositório>

Exemplo:

git clone <https://github.com/usuario/repo.git>

3. git add

O comando git add adiciona mudanças no seu diretório de trabalho para a staging area, preparando-os para o commit.

git add <arquivo>

Se você quiser adicionar todas as mudanças no repositório de uma só vez, use:

git add .

4. git commit

Após adicionar mudanças com git add, você precisa fazer o commit dessas mudanças. O commit é como um "snapshot" do estado do seu código em um ponto no tempo. Cada commit é identificado por um hash único.

git commit -m "Mensagem descritiva do commit"

5. git status

Esse comando mostra o estado atual do repositório, listando os arquivos modificados, quais estão na staging area e quais estão fora.

git status

6. git pull

O comando git pull é usado para atualizar o repositório local com as últimas mudanças do repositório remoto.

git pull

7. git push

Depois de fazer commits localmente, use git push para enviar essas mudanças para o repositório remoto.

git push origin <branch>

Se você estiver trabalhando na branch principal (normalmente chamada de main ou master), use:

git push origin main

8. git branch

O git branch permite criar, listar ou deletar branches no repositório. Branches são úteis para separar diferentes features ou bugs que você está trabalhando.

  • Para listar todas as branches e verificar branch atual:
git branch
  • Para criar uma nova branch:
git branch <nome-da-branch>
  • Para deletar uma branch:
git branch -d <nome-da-branch>

9. git checkout

  • Para mudar para outra branch:
git checkout <nome-da-branch>
  • Para criar e mudar para uma nova branch ao mesmo tempo:
git checkout -b <nome-da-branch>

10. git merge

O git merge integra mudanças de uma branch em outra. Por exemplo, para mesclar as mudanças da branch feature para a branch main:

git checkout main
git merge feature

11. git log

Esse comando exibe o histórico de commits do repositório, mostrando o hash, autor, data e mensagem de commit.

git log

12. git diff

Se você quiser ver as mudanças feitas no código, git diff mostra a diferença entre o que está no diretório de trabalho e o que foi adicionado à staging area.

git diff

13. git reset

O git reset permite desfazer mudanças. Por exemplo, você pode remover arquivos da staging area ou reverter commits.

  • Para remover arquivos da staging area:
git reset <arquivo>
  • Para desfazer um commit anterior:
git reset --hard <hash-do-commit>

exemplo:

_# Volta 2 commits mantendo as alterações no working directory_
git reset --soft HEAD~2

_# Cria um novo commit com todas as alterações_
git commit -m "Nova mensagem do commit unificado"

_# Se já fez push, precisa forçar (cuidado!)_
git push --force-with-lease

14. git stash

O comando git stash permite que você salve temporariamente as mudanças não commitadas no seu diretório de trabalho sem fazer um commit. Isso é útil quando você quer mudar de branch, mas não está pronto para fazer um commit das alterações atuais.

  • Para salvar as mudanças:
git stash
  • Para listar os stashes salvos:
git stash list
  • Para aplicar as mudanças salvas no stash de volta ao diretório de trabalho:
git stash apply

15. git rebase

O comando git rebase é usado para integrar mudanças de uma branch em outra de forma mais linear, criando um histórico de commits mais limpo. Ao contrário do merge, o rebase move todos os commits de uma branch para o topo de outra.

git checkout feature
git rebase main

Neste exemplo, estamos movendo os commits da branch feature para o topo da branch main.

16. git tag

O git tag é usado para marcar um ponto específico no histórico de commits como uma versão, por exemplo. Isso é útil quando você lança versões de um software.

  • Para criar uma tag:
git tag <nome-da-tag>
  • Para listar todas as tags:
git tag
  • Para adicionar uma tag anotada com uma mensagem:
git tag -a v1.0.0 -m "Primeira versão"
  • Para enviar as tags ao repositório remoto:
git push origin --tags

17. git cherry-pick

Esse comando é utilizado para aplicar um commit específico de uma branch a outra. Ele é útil quando você quer pegar apenas um commit isolado, sem trazer todas as mudanças da branch.

git cherry-pick <hash-do-commit>

18. git rm

O comando git rm remove arquivos do diretório de trabalho e também do controle de versão.

git rm <arquivo>
  • Para remover o arquivo apenas do Git, mas manter no sistema de arquivos:
git rm --cached <arquivo>

19. git revert

Esse comando cria um novo commit que reverte as mudanças de um commit anterior, sem modificar o histórico de commits, como o git reset faria.

git revert <hash-do-commit>

20. git blame

O comando git blame mostra quem fez as últimas alterações em cada linha de um arquivo, útil para rastrear a autoria e entender a origem das mudanças.

git blame <arquivo>

21. git remote

O git remote gerencia os repositórios remotos conectados ao seu projeto local. Você pode adicionar, remover ou listar os repositórios remotos.

  • Para adicionar um repositório remoto:
git remote add origin <URL-do-repositório>
  • Para listar os repositórios remotos:
git remote -v
  • Para remover um repositório remoto:
git remote remove <nome-remoto>

22. git fetch

O comando git fetch atualiza seu repositório local com as mudanças do repositório remoto, sem mesclar automaticamente essas mudanças na sua branch atual.

git fetch origin

23. git archive

Esse comando permite criar um arquivo zip ou tar contendo os arquivos do seu projeto, útil para distribuir versões específicas de um repositório.

git archive --format=zip HEAD > arquivo.zip

Dicas Extras para Trabalhar com Git

  • Use commits pequenos e frequentes: Fazer commits pequenos e focados facilita o rastreamento de bugs e o entendimento do histórico de mudanças.

  • Escreva mensagens de commit claras: Seja descritivo e breve ao escrever mensagens de commit. Mensagens como "Corrige bug no componente de login" são muito mais úteis do que simplesmente "Correções".

  • Crie branches para cada feature ou bug: Isso ajuda a organizar seu fluxo de trabalho e mantém a branch principal limpa.

  • Rebase antes de dar um push em uma branch compartilhada: Usar git rebase ao invés de git merge em branches compartilhadas pode deixar o histórico de commits mais limpo e fácil de entender.

  • Configure aliases para comandos usados com frequência: Você pode usar aliases no Git para reduzir o tempo digitando comandos. Por exemplo:

    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    

https://www.tabnews.com.br/RafaelBESO/git-o-basico-que-vai-fazer-voce-parecer-um-mestre

https://www.atlassian.com/git/tutorials/rewriting-history