GUIA RÁPIDO DE COMANDOS GIT

Configurações básicas e globais


Usuario e email para serem exibidos nos commites:
git config --global user.name "[seu nome]"
git config --global user.email [seu e-mail]

Tratamento de espaços em branco
git config --global apply.whitespace nowarn
git config --global core.whitespace nowarn


Definição de cores para o modo console:
git config --global color.branch auto
git config --global color.diff auto
git config --global color.status auto
git config --global color.interactive auto;


Definir editor de texto padrão para o diretório de trabalho:
git config --global core.editor "vim";



Alias

Com o alias, você pode criar atalhos aos comando do GIT.

Criar Atalhos de comando:
git config --global alias.co checkout;
git config --global alias.br branch;
git config --global alias.ci commit;
git config --global alias.st status;

Para usar o atalho de comando, digite por exemplo:
git st
git co



Trabalhando com Repositórios

Criar repositório
mkdir [dir]
cd dir
git init

Cópia de trabalho de um repositório
git clone [origin] [nova pasta]

Acrescentando +uma URL remota ao diretório local
git remote add <alias-da-url> <url-do-projeto-original>

Alterando a URL remota do diretório local
git remote set-url <alias-da-url> <url-do-projeto-original>

Removendo a URL remota do diretório local
git remote set-url --delete <alias-da-url>

Removendo o alias do projeto no diretório local
git remote remove <nome>

Alterando o alias do projeto no diretório local
git remote rename <old> <new>

Adicionar arquivo(s) específicos ao próximo commit:
git add [arquivo1] [arquivo2] ...

ou para adicionar todos aquivos apresentados no git status ao próximo commit:
git add .

Persistir as mudanças (commit)
git commit -m "[mensagem]"

Atualizar repositório local
git pull

Enviar atualizações ao repositório remoto
git push [origin] [branch]

Visualizar status do repositório local
git status

Verificar mudanças em arquivos adicionados com git add
git diff

Verifica mudanças entre commits
git diff [ID1] [ID2]


Histórico dos commits
git log


Verificar mudanças em um commit específico
git show [ID]


Verificar mudanças em um arquivo de um commit
git show [ID] [arquivo]


Rollback do commit atual
Cuidado com esse procedimento pois não há como recuperar!
git reset --hard HEAD

Voltando ao commit anterior, mas criando um novo commit
git revert HEAD


Patches

Criando e aplicando vários patch de um branch
git checkout [branch]
git format-patch --stdout master > patch
git am --whitespace=nowarn patch




Trabalhando com Branches


Criar um Branch
git branch [branchname]

Criar e tornar ativo o novo branch
git checkout -b [branchname]

Criar um branch baseado em um ID de versionamento específico
git branch [branchname] [ID]

Persistir os branches criados no servidor remoto
git push --all

Persistir específicamente um branch criado no servidor remoto
git push [urlserver|aliasserver] [branchname]

Exemplos:
git push origin frontend
git push origin :frontend

Trocar de Branch
git checkout [branchname]

Verificar o branch atual
git branch

Verificar detalhes de branches
git branch -v

Deletar um branch
git branch -d [branchname]

Mesclar de branches [branch1] ao [branch2]
git checkout [branch2]
git merge [branch1]


Trabalhando com Tags


Para listar TAG existentes
git tag -ln

Para criar uma TAG
git tag [tagname]

Exemplo tag chamada v0.01 no commit atual execute:
git tag v0.01

Para criar uma TAG referente ao commit específico
git tag [tagname] [ID]
exemplo tag v0.01 referente ao commit 4b8ef995de6d77:
git tag v0.01 4b8ef995de6d77

Para submete-la para o servidor remoto
git push --tags [alias-da-url] [branchname]
Exemplo:
git push --tags origin master

Para deletar uma TAG execute:
git tag -d v0.01
git push origin :refs/tags/v0.01

Para voce mover para o commit da TAG execute:
git checkout v0.01

Estudo de caso Branch + Clone

git clone https://rbrito1978@code.google.com/p/templates-buildout/
git checkout p255
git branch -v
ou
git clone -o origin -b p255 https://rbrito1978@code.google.com/p/templates-buildout/

Atualizações

20131104; 20150617;

Referências

http://brito.blog.incolume.com.br/2013/03/guia-rapido-de-comandos-git-lado-usuario.html

Comentários