Git comandos Avançados
Habilite auto complete, Commit com titulo e descrição, navege pelo histórico, atualize fork e muito mais!
Habilitar auto complete ao digitar commandos git no terminal
wget https://github.com/git/git/blob/master/contrib/completion/git-completion.bash --quiet --show-progress -O ~/git-completion.bash
echo -e "\nsource ~/git-completion.bash" >> ~/.bash_profile
Criar commit com titulo e descrição completa
Opcional Habilitar vim como editor padrão: Eu amo o VIM, mas sei que é bem dificil para iniciantes. Se você quer subir para outro nivel como programador, aconselho aprender o editor mais poderoso que conheço.
export EDITOR='vim'
Abrir editor para preencher titulo e descrição do commit:
git commit -a
Primeira linha é o titulo Terceira linha em diante é a descrição.
Git Alias
to use ‘git st’
git config --global alias.st status
All alias
cat .git/config | grep -A 1 "\[alias\]"
Log
https://git-scm.com/docs/pretty-formats
git log --pretty='%Cred%h%Creset | %C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %C(cyan)[%an]%Creset' --graph --all
Alias log
git config --global alias.lg "log --pretty='%Cred%h%Creset | %C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %C(cyan)[%an]%Creset' --graph --all"
Diff
Words
git config --global alias.dp 'diff --word-diff --unified=10'
Blocks
git diff --patience
histogram
git diff histogram
Verifying commits
git config --global core.whitespace "blank-at-eol,blank-at-eof,tab-in-indent"
Documenting Commits
wget http://git.io/validate-commit-msg --show-progress --quiet -O .git/hooks/commit-msg
chmod a+x .git/hooks/commit-msg
Edit commit not pushed
git commit --amend