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"
Written on March 6, 2013

Share: