Git Nosso de Cada Dia (Git Cheatsheet)
Fala pessoal! Segue abaixo uma lista com os principais comandos de git usados no dia-a-dia, com o passar do tempo vou adicionando mais..
Geral
Adicionar todos arquivos alterados no stage (deixar pronto para serem comitados):
git add .
Adicionar arquivos trackeados excluídos no stage:
git add -u
Remover arquivos do stage (prontos para commit) que já são trackeados:
git reset HEAD nome_arquivo
Remover arquivos do stage que ainda não são trackeados:
git rm --cached nome_arquivo
Refazer um commit quando necessário:
git commit -m "mensagem" --amend
Exibir alterações feitas depois do último commit que ainda não foram stageadas:
git diff
Exibir alterações feitas depois do último commit que já foram stageadas:
git diff --cached
Excluir um commit local (substitua o número abaixo pelo seu commit)
git reset --hard 7d01b96b7fd1a1e5bfa1971b50c51e55efa75646
Forçar o git a excluir um commit no repositório remoto, primeiro exclua localmente e depois rode:
git push origin HEAD --force
Abrir interface gráfica (gitk):
gitk
Ver número de commits por usuário:
git shortlog -s
Stash
Jogar alterações para o stash:
git stash
Ver itens no stash:
git stash list
Aplicar o último item adicionado no stash:
git stash apply
Aplicar um stash específico (liste todos os stashs e substitua 'numero_do_stash' pelo número desejado):
git stash apply stash@{numero_do_stash}
Limpar stash:
git stash clear
Branches
Criar um branch:
git branch nome_branch
Criar um branch e dar checkout (mudar pra ele):
git checkout -b nome_branch
Criar um branch "trackeando" (fazendo acompanhar) um branch remoto:
git checkout -b nome_branch_local origin/nome_branch_remoto
Mudar de branch:
git checkout nome_branch
Excluir um branch local:
git branch -d nome_branch
Excluir um branch remoto:
git push origin --delete nome_branch
Exibir todos os branches locais:
git branch
Exibir todos os branches locais e remotos:
git branch -a
Fazer o git enxergar todos branches remotos:
git remote update
Ver origens remotas definadas para o branch atual:
git remote show
Excluir origem remota para o branch atual:
git remote rm nome-origin
Adicionar origem remota para o branch atual:
git remote add nome-origin git@xxxbucket.com:username/nome-repositorio.git
Trazer ("mergear") alterações de outro branch para o branch atual:
git merge nome-branch-a-ser-baixado
Ver apontamentos de branches do git, na pasta do .git, rode:
cat .git/config
Configuração
Definir configuração de nome global:
git config --global user.name "Seu nome"
Definir configuração de email global:
git config --global user.email "email@dominio.com.br"
Colorizar saídas:
git config --global color.ui auto
Criar alias (cria um alias "st" para "status", agora pode-se usar git st
):
git config --global alias.st 'status'
Definir editor padrão do git (utilizado em merges etc)
git config --global core.editor "vim"