1 - O git tem três diferentes níveis de configuração:
–local - aplica a configuração somente a um projeto;
–global - aplica a configuração para todos os projetos do usuário atual; e
–system - aplica a configuração para todos os usuários e projetos do sistema;

1
❯ git config --global user.email "email@email.com"

2 - Por default o git pull faz um fetch seguido por um merge, gerando um ‘terceiro’ commit com uma mensagem do tipo “Merge branch ‘master’ of github.com:kln/testapp”, que é desnecessária e polui a história, usando o

1
--rebase
os commit são reaplicados sequencialmente e sem esse terceiro commit, deixando a história de commits mais limpa

1
❯ git config --global pull.rebase true

3 - Simplificando a saída do comando git status

1
❯ git config --global alias.st 'status -sb'**

alt text; "git status"

Mais alguns alias…

1
❯ git config --global alias.go checkout 

alt text; "git checkout"

1
❯ git config --global alias.br branch

alt text; "git branch"

5 - Melhorando a saída do log

1
❯ git config --global alias.lg "log --oneline --decorate --all --graph --stat"

Algumas opções:

–oneline Exibe o log em uma linha
–all Exibe o log completo
–since e –after Define um range de datas
–stat Mostra as alterações do commit
–graph Mostra o gráfico
–pretty=format:’%h %s %an %ad’ para exibir sha1, texto, autor, data e hora

alt text; "git log"

6 - Alterar a mensagem do último commit

1
❯ git commit --amend

7 - Podemos utilizar o rebase para alterar a ordem e a mensagem dos commits, podemos parar para adicionar ou modificar arquivos, entre outras coisas. o HEAD diz quantos commits você quer voltar, HEAD~5 por exemplo, retornaria os últimos cinco commits.

1
2
3
4
5
6
7
8
9
10
11
12
13
❯ git rebase -i HEAD~1

pick d61fe79 added a new file  

# Rebase e6eca64..d61fe79 onto e6eca64
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell

8 - Algumas vezes queremos testar algo que está no stash, uma forma simples de fazer isso é aplicar o stash em uma branch nova:

1
❯  git stash branch test-branch

9 - Mostrar o último commit com uma palavra X

1
❯ git show :/query


Referências \