Há algum tempo, quando eu perdi um commit usando git reset –HARD <commit-id> (shit happens), eu decidi que era hora de estudar o GIT novamente. Este artigo não tem a intenção de trazer coisas básicas sobre GIT, mas algumas coisas que descobri nessa minha pesquisa e que provavelmente você (ainda) não sabe.
- Para recuperar um commit do reset – HARD, basta usar git reflog.
- Diff entre branches: se você quiser checar qual é a diferença entre duas branches, você pode simplesmente digitar: git diff branch1..branch2.
- Mostrar um commit procurando por regex: usando git show :/consertos, você pode achar o último commit cuja mensagem contenha a string que passou. Neste caso, consertos.
- Para dar um checkout em uma branch, rebase e merge para master, basta fazer esta mágica: git rebase HEAD feature && git rebase HEAD @{-2}.
- Git stash: se você não pode fazer um commit porque você ainda não terminou o seu trabalho, e alguma coisa urgente apareceu, você pode usar git stash para salvar aquelas mudanças e comitar suas tarefas urgentes, e então git stash pop para trazer suas coisas de volta.
- Aliases: está cansado de digitar checkout milhares de vezes? Vá em frente e: git config –global alias.co checkout. Agora, você pode fazer checkout para master usando: git co master.
- Renomeando uma branch local: com git branch -m nome-antigo nome-novo, você pode facilmente renomear um branch local.
- Busca por um autor: você pode procurar por um commit pelo autor usando git log –author=Matheus.
- Status com opções: a maioria das pessoas apenas usa git status, mas você pode passar argumentos para mudar a forma como o status atual é mostrado. Com o git status –sb, você terá um output como estes:
## master
M Gemfile
M Gemfile.lock
M app/controllers/home_controller.rb
M app/views/home/index.html.erb
Aqui estão algumas das fontes que eu usei para o artigo:
- http://mislav.uniqpath.com/2010/07/git-tips/
- http://www.andyjeffries.co.uk/25-tips-for-intermediate-git-users/
- http://rypress.com/tutorials/git/tips-and-tricks.html
- http://git-scm.com/
Ficou alguma dúvida ou tem alguma coisa a acrescentar? Aproveite os campos abaixo! Até a próxima.
***
*Texto originalmente publicado (em inglês) no Blog pessoal do autor. Veja aqui.