Nova seção: Cheat sheets

As cheat sheets são ótimas para você não esquecer daqueles comandos que precisa usar. Já fazia algum tempo que eu estava pensando em criar um cheat sheet sobre git. Ainda tem comandos que não utilizo com frequência e aí precisava sempre olhar o man. Agora criei um pequeno cheat sheet, mas que será atualizado sempre que eu precisar fazer alguma coisa no git e não lembrar do comando. Vai ser ler no man page e atualizar a cheat sheet.

Espero que também seja útil para vocês!

2 comentários : 06.02.2009 10:33 PM

Git Cheatsheet

Criar um novo branch remoto

git push origin origin:refs/heads/nome-do-branch

Começar a trabalhar localmente no branch remoto recém criado

git checkout --track -b nome-do-branch origin/nome-do-branch

Apagar um branch remoto do clone local (Na documentação do git eles são chamados de remote-tracking branches. No próximo fetch ou pull eles serão recriados.)

git branch -d -r origin/nome-do-branch

Apagar um branch do repositório remoto

git push origin :nome-do-branch // não esquecer dos ":" na frente do nome do branch

Apagar um branch local

git branch -d nome-do-branch

Refazer o último commit

Supondo que você fez um commit, mas por acaso esqueceu de fazer o git add em um arquivo. Faça o git add no arquivo e depois execute:

git commit --amend

O último commit será refeito com as alterações que você fez após ele.

Merge entre o master e um remote-tracking branch

git merge master origin/nome-do-branch

Salvar mudanças temporariamente para poder fazer um rebase ou pull

git stash save

Restaurar as mudanças salvas anteriormente

git stash apply

Limpar a lista de stash(mesmo após aplicar ele continua salvo)

git stash clear

Enviar as tags locais para o repositório remoto

git push --tags

Apagar uma tag remota

git push origin :refs/tags/nome-da-tag

Apagar todas as mudanças não comitadas até o momento (deixa o seu branch limpo, mas não apaga arquivos novos que nunca foram comitados)

git checkout -f

Fazer um ‘git rm’ arquivo por arquivo pode ser chato. E as vezes você não pode usar o ‘git add -u’ senão ele atinjirá arquivos que você não deseja

git ls-files --deleted | xargs git rm

Remover referência a branchs remotos já apagados

git remote prune origin

0 comentários : 06.02.2009 09:32 PM

'git revert' não é o mesmo que 'svn revert'!

Acabei de atualizar o blog para a última versão do Mephisto, a 0.8, que foi lançada recentemente. Não entendi até agora por que a notícia não saiu no site oficial do Mephisto, mas isso é outro problema. Agora o scm do projeto é o git, que foi inicialmente desenvolvido pelo Linus Torvalds, o mesmo que criou o kernel do Linux.

Uma coisa que me chamou atenção foi o fato do ‘git revert’ não fazer nada semelhante ao que o ‘svn revert’ faz. O comando:

git revert HEAD

É um undo do último commit! Para fazer um revert como estamos acostumados no svn, deve-se fazer:

git reset --hard HEAD

Assim será feito revert de todas as modificações depois do último commit. Estranho que não achei a opção para fazer em um arquivo específico, como se faz no svn. Caso utilize:

git reset --hard HEAD nome_do_arquivo

É retornado:

Cannot do partial --hard reset.

Pesquisando um pouco descobri uma maneira razoável de realizar o revert svn-like:

git checkout nome_do_arquivo

É diferente, mas não é difícil de usar. Por enquanto o git está aprovado.

1 comentário : 19.02.2008 12:20 AM