Comandos GIT
Guia rápido de comandos do GIT

Configurações iniciais do cliente de git

Defina seu nome de usuário e e-mail.
1
git config user.name "<seuNome>"
2
git config --global user.email "<[email protected]>"
Copied!

Inicializar um repositório de maneira local

Permite que se inicialize o diretório atual como um repositório git.
1
git init
Copied!

Adicionar um repositório remoto

Uma vez que o caminho local seja um repositório git inicializado, é possível adicionar os caminhos para o repositório remoto.
1
git remote add <origin> <url>
Copied!
Onde:
  • origin = pode ser modificado para qualquer nome desejado, sendo o padrão a palavra origin;
  • url = é obtida do repositório git em sites como GitHub, BitBucket e GitLab.

Adicionar um segundo repositório remoto

É possível que um repositório local tenha mais de um repositório remoto, para isso basta adicionar um novo:
1
git remote set-url origin --push --add <url>
Copied!

Listagem dos repositórios remotos

1
git remote
Copied!

Listagem detalhada

1
git remote -v
Copied!

Adicionar um arquivo ao staged

Staged é a fila de arquivos a ser commitada.
1
git add <nomeDoArquivo>
Copied!
OBS: Utilize * como nomeDoArquivo para adicionar todos os arquivos.

Realizar um commit (da fila staged)

1
git commit -m "<comentário>"
Copied!

Adicionar arquivo e commitar ao mesmo tempo

1
git commit -am "<comentario>"
Copied!

Alterar a data de um commit

1
git commit --date="aaaa-mm-ddThh:mm:ss"
Copied!
Onde:
  • aaaa = Ano (com quatro dígitos);
  • mm = Mês (com dois dígitos);
  • dd = Dia do mês (com dois dígitos);
  • hh = Hora do dia (formato 24h);
  • mm = Minutos;
  • ss = Segundos.

Enviar arquivos ao repositório remoto

Considerando que o repositório remoto foi definido como origin:
1
git push origin master
Copied!

Observação:

Pode-se dispensar a necessidade de colocar especificar origin master em todo push.
1
git push -u origin master
Copied!

Clonando código de um repositório remoto

Faz uma cópia do repositório remoto para a se for omitido será criada uma subpasta com o nome do repositório remoto.
1
git clone <url> <pastaLocal>
Copied!

Status das alterações em relação ao último commit

Relaciona todos os arquivos que foram modificados desde o último commit.
1
git status
Copied!

Mostra o que foi alterado nos arquivos

O parâmetro nomeDoArquivo é opcional, se for omitido será exibida o detalhe do que foi alterado em todos os arquivos.
1
git diff <nomeDoArquivo>
Copied!

Listagem dos nomes dos arquivos que foram alterados

Mostra somente o nome dos arquivos e não o conteúdo do que foi alterado.
1
git diff --name-only
Copied!

Logs dos commits

Detalha cada commit, listando nome do autor e comentários dos commits.
1
git log
2
git log --graph
3
git log --decorate
Copied!

Filtrar commits por autor

1
git log --author="<nomeDoAutor>"
Copied!

Listar as contribuições de por autor

1
git shortlog
Copied!

Mostrar somente a quantidade de contribuições por autor

1
git shortlog -sn
Copied!

Detalhes de um commit

1
git show <hashDoCommit>
Copied!

Retornar um arquivo específico à ultima versão commitada

1
git checkout <nomeDoArquivo>
Copied!

Retirar um arquivo da fila do staged

1
git reset head
Copied!

Desfazer um commit

É possível desfazer um commit de três maneiras.

Mantendo as alterações feitas no arquivo e o arquivo na staged:

1
git reset --soft <hashAnteriorAoCommit>
Copied!

Mantendo as alterações feitas, mas sem o arquivo na staged:

1
git reset --mixed <hashAnteriorAoCommit>
Copied!

Apagando todas as alterações do commit e voltando ao anterior:

1
git reset --hard <hashAnteriorAoCommit>
Copied!

Voltando o commit anterior como se fosse um novo commit:

1
git revert <hashDoCommitADesfazer>
Copied!

Trabalhando com branches

Criar um branch

1
git checkout -b <nomeDoBranch>
Copied!

Listagem dos branches

1
git branch
Copied!

Mudar de branch

1
git chechout <nomeDoBranch>
Copied!

Apagar um branch

1
git branch -D <nomeDoBranch>
Copied!

Apagar um branch do repositório remoto

1
git push origin :<nomeDoBranch>
Copied!

Fazendo merge de branches

Não-linear

1
git merge <nomeDoBranch>
Copied!

Merge linear

1
git rebase <nomeDoBranch>
Copied!

Criar Work In Progress (WIP)

1
git stash
Copied!

Trazer as mudanças do WIP de volta

1
git stash apply
Copied!

Listagem dos stashes

1
git stash list
Copied!

Limpar os stashes

1
git stash clear
Copied!

Criar um alias (atalho) para comandos

1
git config --global alias.<atalho> <comando>
Copied!

Exemplo:

Criar um atalho pom que represente o comando push origin master
1
git config --global alias.pom "push origin master"
Copied!
Feito isso os novos pushes para o repositório remoto podem ser feitos usando o comando git pom

Versionando com tag

1
git tag -a <versao> -m "<comentario>"
2
git push origin master --tags
Copied!

Deletar tag do repositório remoto

1
git push origin :<versaoAApagar>
Copied!
Conheça também as ferramentas Atom, GitHub Desktop e GitKraken que fornecem um ambiente gráfico para trabalhar com o git.