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 degit 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