Lista de 100 Comandos Importantes do Git git

Introdução

Este documento fornece uma lista de 100 comandos essenciais do Git, cada um com uma breve descrição de sua função. Git é um sistema de controle de versão distribuído amplamente utilizado para rastrear mudanças no código-fonte durante o desenvolvimento de software.

Comandos Básicos

  1. git init - Inicializa um novo repositório Git.
  2. git clone <url> - Clona um repositório existente de uma URL.
  3. git add <arquivo> - Adiciona um arquivo ao índice (staging area).
  4. git commit -m "mensagem" - Confirma as mudanças no índice com uma mensagem.
  5. git status - Mostra o status atual do repositório.
  6. git log - Exibe o histórico de commits.
  7. git diff - Mostra as diferenças entre os arquivos modificados e o último commit.
  8. git branch - Lista todas as branches no repositório.
  9. git checkout <branch> - Muda para a branch especificada.
  10. git merge <branch> - Mescla a branch especificada na branch atual.

Comandos de Branch

  1. git branch <nome-da-branch> - Cria uma nova branch.
  2. git branch -d <nome-da-branch> - Deleta uma branch.
  3. git branch -m <nome-antigo> <nome-novo> - Renomeia uma branch.
  4. git branch -a - Lista todas as branches, incluindo as remotas.
  5. git branch -r - Lista todas as branches remotas.

Comandos de Remoto

  1. git remote - Lista os repositórios remotos configurados.
  2. git remote add <nome> <url> - Adiciona um novo repositório remoto.
  3. git remote remove <nome> - Remove um repositório remoto.
  4. git remote rename <nome-antigo> <nome-novo> - Renomeia um repositório remoto.
  5. git remote set-url <nome> <nova-url> - Altera a URL de um repositório remoto.

Comandos de Fetch e Pull

  1. git fetch - Busca as mudanças dos repositórios remotos sem mesclar.
  2. git pull - Busca e mescla as mudanças do repositório remoto na branch atual.
  3. git fetch --all - Busca as mudanças de todos os repositórios remotos.
  4. git pull --rebase - Rebaseia as mudanças ao invés de mesclar.

Comandos de Push

  1. git push - Envia os commits da branch local para o repositório remoto.
  2. git push -u <remoto> <branch> - Define a upstream da branch local para o repositório remoto.
  3. git push --force - Força o envio, sobrescrevendo a branch remota.
  4. git push --tags - Envia todas as tags locais para o repositório remoto.
  5. git push <remoto> :<branch> - Deleta uma branch remota.

Comandos de Rebase

  1. git rebase <branch> - Rebaseia a branch atual na branch especificada.
  2. git rebase --continue - Continua o rebase após resolver conflitos.
  3. git rebase --abort - Aborta o rebase e retorna ao estado anterior.
  4. git rebase -i <commit> - Realiza um rebase interativo a partir do commit especificado.

Comandos de Stash

  1. git stash - Guarda as mudanças não confirmadas para uso posterior.
  2. git stash apply - Aplica as mudanças do stash mais recente.
  3. git stash pop - Aplica e remove o stash mais recente.
  4. git stash list - Lista todos os stashes.
  5. git stash drop - Remove um stash específico.

Comandos de Tag

  1. git tag - Lista todas as tags.
  2. git tag <nome> - Cria uma nova tag.
  3. git tag -a <nome> -m "mensagem" - Cria uma tag anotada.
  4. git tag -d <nome> - Deleta uma tag local.
  5. git push <remoto> <tag> - Envia uma tag para o repositório remoto.
  6. git push <remoto> --tags - Envia todas as tags para o repositório remoto.
  7. git tag -l "padrão" - Lista tags que correspondem ao padrão.

Comandos de Log e Histórico

  1. git log --oneline - Exibe o histórico de commits em uma linha.
  2. git log --graph - Exibe um gráfico do histórico de commits.
  3. git log -p - Mostra as mudanças de cada commit.
  4. git log --author="autor" - Filtra os commits por autor.
  5. git log --since="data" - Mostra os commits desde uma data específica.
  6. git log --until="data" - Mostra os commits até uma data específica.

Comandos de Aliases

  1. git config --global alias.<atalho> '<comando>' - Cria um atalho para um comando Git.
  2. git config --global alias.st 'status' - Exemplo de alias para git status.
  3. git config --global alias.co 'checkout' - Exemplo de alias para git checkout.
  4. git config --global alias.br 'branch' - Exemplo de alias para git branch.
  5. git config --global alias.ci 'commit' - Exemplo de alias para git commit.

Comandos de Configuração

  1. git config --global user.name "nome" - Define o nome do usuário.
  2. git config --global user.email "email" - Define o email do usuário.
  3. git config --global core.editor "editor" - Define o editor de texto padrão.
  4. git config --global merge.tool "ferramenta" - Define a ferramenta de merge.
  5. git config --global alias.<atalho> "comando" - Cria um alias para um comando.

Comandos de Reset e Revert

  1. git reset --hard - Reseta o índice e o diretório de trabalho para o último commit.
  2. git reset --soft - Reseta apenas o índice, mantendo as mudanças no diretório de trabalho.
  3. git reset HEAD <arquivo> - Remove um arquivo do índice.
  4. git revert <commit> - Reverte um commit específico.
  5. git revert --no-commit <commit> - Reverte um commit sem criar um novo commit.

Comandos de Clean

  1. git clean -f - Remove arquivos não rastreados do diretório de trabalho.
  2. git clean -fd - Remove diretórios e arquivos não rastreados.
  3. git clean -n - Mostra o que seria removido, sem realmente remover.
  4. git clean -x - Remove arquivos ignorados por .gitignore.

Comandos de Cherry-Pick

  1. git cherry-pick <commit> - Aplica as mudanças de um commit específico na branch atual.
  2. git cherry-pick --continue - Continua o cherry-pick após resolver conflitos.
  3. git cherry-pick --abort - Aborta o cherry-pick e retorna ao estado anterior.

Comandos de Diff

  1. git diff <branch1> <branch2> - Mostra as diferenças entre duas branches.
  2. git diff <commit1> <commit2> - Mostra as diferenças entre dois commits.
  3. git diff --staged - Mostra as diferenças entre o índice e o último commit.
  4. git diff --cached - Mostra as diferenças entre o índice e o último commit.
  5. git diff <arquivo> - Mostra as diferenças em um arquivo específico.

Comandos de Submodule

  1. git submodule add <url> <caminho> - Adiciona um submódulo.
  2. git submodule update - Atualiza todos os submódulos.
  3. git submodule init - Inicializa os submódulos no repositório.
  4. git submodule deinit <caminho> - Desinicializa um submódulo.
  5. git submodule sync - Sincroniza URLs dos submódulos.

Comandos de Blame

  1. git blame <arquivo> - Mostra quem modificou cada linha do arquivo.
  2. git blame -L <início>,<fim> <arquivo> - Mostra as modificações em um intervalo específico de linhas.
  3. git blame <commit> <arquivo> - Mostra o histórico de um arquivo até um commit específico.

Comandos de Archive

  1. git archive -o <arquivo.zip> HEAD - Cria um arquivo zip do repositório no estado atual.
  2. git archive --format=tar HEAD | tar -x -C <diretório> - Extrai o repositório para um diretório específico.

Comandos de Bisect

  1. git bisect start - Inicia a busca binária para encontrar um commit com erro.
  2. git bisect bad - Marca o commit atual como ruim.
  3. git bisect good <commit> - Marca um commit específico como bom.
  4. git bisect reset - Reseta a busca binária.

Comandos de Grep

  1. git grep <padrão> - Pesquisa por um padrão no repositório.
  2. git grep -n <padrão> - Pesquisa por um padrão e mostra os números das linhas.
  3. git grep --count <padrão> - Conta o número de ocorrências do padrão.

Outros Comandos

  1. git show <commit> - Mostra os detalhes de um commit específico.
  2. git shortlog - Mostra um resumo dos commits por autor.
  3. git describe - Mostra uma descrição baseada em tags e commits.
  4. git reflog - Mostra o histórico de referências da HEAD.
  5. git fsck - Verifica a integridade e a validade do sistema de arquivos Git.

Conclusão

Estes são alguns dos comandos mais importantes do Git que podem ajudar a gerenciar seus projetos de desenvolvimento de software de maneira eficiente. Para mais detalhes sobre cada comando, consulte a documentação oficial do Git.