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.
git init
- Inicializa um novo repositório Git.git clone <url>
- Clona um repositório existente de uma URL.git add <arquivo>
- Adiciona um arquivo ao índice (staging area).git commit -m "mensagem"
- Confirma as mudanças no índice com uma mensagem.git status
- Mostra o status atual do repositório.git log
- Exibe o histórico de commits.git diff
- Mostra as diferenças entre os arquivos modificados e o último commit.git branch
- Lista todas as branches no repositório.git checkout <branch>
- Muda para a branch especificada.git merge <branch>
- Mescla a branch especificada na branch atual.
git branch <nome-da-branch>
- Cria uma nova branch.git branch -d <nome-da-branch>
- Deleta uma branch.git branch -m <nome-antigo> <nome-novo>
- Renomeia uma branch.git branch -a
- Lista todas as branches, incluindo as remotas.git branch -r
- Lista todas as branches remotas.
git remote
- Lista os repositórios remotos configurados.git remote add <nome> <url>
- Adiciona um novo repositório remoto.git remote remove <nome>
- Remove um repositório remoto.git remote rename <nome-antigo> <nome-novo>
- Renomeia um repositório remoto.git remote set-url <nome> <nova-url>
- Altera a URL de um repositório remoto.
git fetch
- Busca as mudanças dos repositórios remotos sem mesclar.git pull
- Busca e mescla as mudanças do repositório remoto na branch atual.git fetch --all
- Busca as mudanças de todos os repositórios remotos.git pull --rebase
- Rebaseia as mudanças ao invés de mesclar.
git push
- Envia os commits da branch local para o repositório remoto.git push -u <remoto> <branch>
- Define a upstream da branch local para o repositório remoto.git push --force
- Força o envio, sobrescrevendo a branch remota.git push --tags
- Envia todas as tags locais para o repositório remoto.git push <remoto> :<branch>
- Deleta uma branch remota.
git rebase <branch>
- Rebaseia a branch atual na branch especificada.git rebase --continue
- Continua o rebase após resolver conflitos.git rebase --abort
- Aborta o rebase e retorna ao estado anterior.git rebase -i <commit>
- Realiza um rebase interativo a partir do commit especificado.
git stash
- Guarda as mudanças não confirmadas para uso posterior.git stash apply
- Aplica as mudanças do stash mais recente.git stash pop
- Aplica e remove o stash mais recente.git stash list
- Lista todos os stashes.git stash drop
- Remove um stash específico.
git tag
- Lista todas as tags.git tag <nome>
- Cria uma nova tag.git tag -a <nome> -m "mensagem"
- Cria uma tag anotada.git tag -d <nome>
- Deleta uma tag local.git push <remoto> <tag>
- Envia uma tag para o repositório remoto.git push <remoto> --tags
- Envia todas as tags para o repositório remoto.git tag -l "padrão"
- Lista tags que correspondem ao padrão.
git log --oneline
- Exibe o histórico de commits em uma linha.git log --graph
- Exibe um gráfico do histórico de commits.git log -p
- Mostra as mudanças de cada commit.git log --author="autor"
- Filtra os commits por autor.git log --since="data"
- Mostra os commits desde uma data específica.git log --until="data"
- Mostra os commits até uma data específica.
git config --global alias.<atalho> '<comando>'
- Cria um atalho para um comando Git.git config --global alias.st 'status'
- Exemplo de alias paragit status
.git config --global alias.co 'checkout'
- Exemplo de alias paragit checkout
.git config --global alias.br 'branch'
- Exemplo de alias paragit branch
.git config --global alias.ci 'commit'
- Exemplo de alias paragit commit
.
git config --global user.name "nome"
- Define o nome do usuário.git config --global user.email "email"
- Define o email do usuário.git config --global core.editor "editor"
- Define o editor de texto padrão.git config --global merge.tool "ferramenta"
- Define a ferramenta de merge.git config --global alias.<atalho> "comando"
- Cria um alias para um comando.
git reset --hard
- Reseta o índice e o diretório de trabalho para o último commit.git reset --soft
- Reseta apenas o índice, mantendo as mudanças no diretório de trabalho.git reset HEAD <arquivo>
- Remove um arquivo do índice.git revert <commit>
- Reverte um commit específico.git revert --no-commit <commit>
- Reverte um commit sem criar um novo commit.
git clean -f
- Remove arquivos não rastreados do diretório de trabalho.git clean -fd
- Remove diretórios e arquivos não rastreados.git clean -n
- Mostra o que seria removido, sem realmente remover.git clean -x
- Remove arquivos ignorados por .gitignore.
git cherry-pick <commit>
- Aplica as mudanças de um commit específico na branch atual.git cherry-pick --continue
- Continua o cherry-pick após resolver conflitos.git cherry-pick --abort
- Aborta o cherry-pick e retorna ao estado anterior.
git diff <branch1> <branch2>
- Mostra as diferenças entre duas branches.git diff <commit1> <commit2>
- Mostra as diferenças entre dois commits.git diff --staged
- Mostra as diferenças entre o índice e o último commit.git diff --cached
- Mostra as diferenças entre o índice e o último commit.git diff <arquivo>
- Mostra as diferenças em um arquivo específico.
git submodule add <url> <caminho>
- Adiciona um submódulo.git submodule update
- Atualiza todos os submódulos.git submodule init
- Inicializa os submódulos no repositório.git submodule deinit <caminho>
- Desinicializa um submódulo.git submodule sync
- Sincroniza URLs dos submódulos.
git blame <arquivo>
- Mostra quem modificou cada linha do arquivo.git blame -L <início>,<fim> <arquivo>
- Mostra as modificações em um intervalo específico de linhas.git blame <commit> <arquivo>
- Mostra o histórico de um arquivo até um commit específico.
git archive -o <arquivo.zip> HEAD
- Cria um arquivo zip do repositório no estado atual.git archive --format=tar HEAD | tar -x -C <diretório>
- Extrai o repositório para um diretório específico.
git bisect start
- Inicia a busca binária para encontrar um commit com erro.git bisect bad
- Marca o commit atual como ruim.git bisect good <commit>
- Marca um commit específico como bom.git bisect reset
- Reseta a busca binária.
git grep <padrão>
- Pesquisa por um padrão no repositório.git grep -n <padrão>
- Pesquisa por um padrão e mostra os números das linhas.git grep --count <padrão>
- Conta o número de ocorrências do padrão.
git show <commit>
- Mostra os detalhes de um commit específico.git shortlog
- Mostra um resumo dos commits por autor.git describe
- Mostra uma descrição baseada em tags e commits.git reflog
- Mostra o histórico de referências da HEAD.git fsck
- Verifica a integridade e a validade do sistema de arquivos Git.
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.