Desenvolvimento

9 nov, 2015

9 dicas muito úteis para trabalhar melhor com GIT

Publicidade

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.

  1. Para recuperar um commit do reset – HARD, basta usar git reflog.
  2. Diff entre branches: se você quiser checar qual é a diferença entre duas branches, você pode simplesmente digitar: git diff branch1..branch2.
  3. 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.
  4. 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}.
  5. 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.
  6. 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.
  7. Renomeando uma branch local: com git branch -m nome-antigo nome-novo, você pode facilmente renomear um branch local.
  8. Busca por um autor: você pode procurar por um commit pelo autor usando git log –author=Matheus.
  9. 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:

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.