Configuração Git
Veja a localização do Git: which git
Obtenha a versão do Git: git --version
Crie um alias para o status do Git: git config --global alias.st status
Adicionar ou editar gitignore: nano .gitignore
Rastrear diretório vazio: touch dir/.gitkeep
Socorro: git help
Comandos Git Cruciais
Inicialize o Git: git init
Defina tudo para se comprometer: git add .
Definir Arquivo Único para Confirmar: git add index.php
Confirmar alterações: git commit -m "COMMITMESSAGE"
Adicionar e comprometer: git commit -am "COMMITMESSAGE"
Remover arquivo do Git: git rm index.php
Atualizar todas as alterações: git add -u
Remova o arquivo e não rastreie mais: git rm --cached index.php
Mover ou renomear arquivos: git mv index.php dir/index-two.php
Desfazer modificações para o último compromisso: git checkout -- index.php
Restaurar arquivo de confirmação específica: git checkout COMMITNAME -- index.php
Redefinir
Voltar para o compromisso anterior: git revert COMMITNAME
Reinicialização suave (somente HEAD): git reset --soft COMMITNAME
Desfazer o compromisso anterior: git reset --soft HEAD~
Reinicialização mista (HEAD e estadiamento): git reset --mixed COMMITNAME
Hard Reset (HEAD, staging e dir): git reset --hard COMMITNAME
Atualizar e Excluir
Teste a exclusão de arquivos não rastreados: git clean -n
Excluir arquivos não rastreados: git clean -f
Desembarcar: git reset HEAD index.php
Comprometa-se com o compromisso mais recente: git commit --amend -m "COMMITMESSAGE"
Atualize a mensagem de confirmação mais recente: git commit --amend -m "COMMITMESSAGE"
Ramo
Listar ramos: git branch
Criar nova filial: git branch BRANCHNAME
Alterar filial: git checkout BRANCHNAME
Criar e alterar para nova filial: git checkout -b BRANCHNAME
Renomear filial: ou: git branch -m BRANCHNAME BRANCHNAMETWO
git branch --move BRANCHNAME BRANCHNAMETWO
Mostrar ramificações mescladas com a ramificação atual: git branch --merged
Excluir filial mesclada: ou:git branch -d BRANCHNAME
git branch --delete BRANCHNAME
Excluir filial não mesclada: git branch -D BRANCHNAME
Unir
Simle Merge: git merge BRANCHNAME
Merge to Master: git merge --ff-only BRANCHNAME
Parar de mesclar: git merge --abort
Stash
Mover para o Stash: git stash save "COMMITMESSAGE"
Mostrar Stash: git stash list
Listar estatísticas do Stash: git stash show stash@{0}
Mostrar mudanças no estoque: git stash show -p stash@{0}
Use o item do estoque personalizado e solte-o: git stash pop stash@{0}
Use o item do estoque personalizado e não o deixe cair: git stash apply stash@{0}
Excluir item do estoque: git stash drop stash@{0}
Excluir Stash: git stash clear
Comparar
Compare os arquivos modificados: git diff
Compare os arquivos modificados e destaque as alterações: git diff --color-words index.php
Compare os arquivos modificados no teste: git diff --staged
Compare ramos: git diff master..BRANCHNAME
Compare ramos como acima: git diff --color-words master..BRANCHNAME^
Compare os commits:
git diff COMMITNAME
git diff COMMITNAME..HEAD
git diff COMMITNAME..COMMITNAMETWO
Comparar Commits de Arquivo: git diff COMMITNAME index.php
git diff COMMITNAME..COMMITNAMETWO index.php
Compare sem se preocupar com os espaços: ou:git diff -b COMMITNAME..HEAD
git diff --ignore-space-change COMMITNAME..HEAD
Compare sem se preocupar com todos os espaços: ou:git diff -w COMMITNAME..HEAD
git diff --ignore-all-space COMMITNAME..HEAD
Comparação útil: git diff --stat --summary COMMITNAME..HEAD
Culpa: git blame -L10,+1 index.php
Registro
Mostrar compromissos: git log
Mostrar resumo de confirmações: git log --oneline
Mostrar resumo de confirmações SHA-1: git log --format=oneline
Mostrar resumo dos últimos três commits: git log --oneline -3
Mostrar todas as alterações: git log -p
Mostrar cada confirmação desde a confirmação especial para arquivo personalizado: git log COMMITNAME.. index.php
Mostrar alterações de cada confirmação desde a confirmação especial para arquivo personalizado: git log -p COMMITNAME.. index.php
Mostrar estatísticas e resumo de confirmações: git log --stat --summary
Mostrar histórico de confirmações como gráfico: git log --graph
Mostrar histórico resumido de confirmações como gráfico: git log --oneline --graph --all --decorate
Colaborar
Mostrar remoto: git remote
Mostrar detalhes remotos: git remote -v
Adicionar origem remota do projeto GitHub: git remote add origin https://github.com/user/project.git
Adicionar origem remota de projeto vazio existente: git remote add origin ssh://root@123.123.123.123/path/to/repository/.git
Remover origem: git remote rm origin
Mostrar filiais remotas: git branch -r
Mostrar todos os ramos: git branch -a
Comparar: git diff origin/master..master
Empurrar: git push -u origin master
Push to Default: git push origin master
Buscar: git fetch origin
Puxar: git pull
Pull Branch: git pull origin BRANCHNAME
Mesclar confirmações buscadas: git merge origin/master
Clone para local: ou: git clone https://github.com/user/project.git
git clone ssh://user@domain.com/~/dir/.git
Clone para pasta local: git clone https://github.com/user/project.git ~/dir/folder
Clonar filial específica para local: git clone -b BRANCHNAME https://github.com/user/project.git
Excluir filial remota: ou: git push origin :BRANCHNAME
git push origin --delete BRANCHNAME
Arquivo
Criar arquivo Zip: git archive --format zip --output filename.zip master
Exportar / gravar log personalizado para arquivo: git log --author=sven --all > log.txt
Releases e tags de versão
Mostrar todas as versões liberadas: git tag
Mostrar todas as versões lançadas com comentários: git tag -l -n1
Criar versão de lançamento: git tag v1.0.0
Criar versão de lançamento com comentário: git tag -a v1.0.0 -m 'COMMITMESSAGE'
Verifique uma versão de lançamento específica: git checkout v1.0.0