Git --local-branching-on-the-cheap
Chapters ▾

3.3 Ramificação (Branching) no Git - Gerenciamento de Branches

Gerenciamento de Branches

Agora que você criou, fez merge e apagou alguns branches, vamos ver algumas ferramentas de gerenciamento de branches que serão úteis quando você começar a usá-los o tempo todo.

O comando git branch faz mais do que criar e apagar branches. Se você executá-lo sem argumentos, você verá uma lista simples dos seus branches atuais:

$ git branch
  iss53
* master
  testing

Note o caractere * que vem antes do branch master: ele indica o branch que você está atualmente (fez o checkout). Isso significa que se você fizer um commit nesse momento, o branch master irá se mover adiante com seu novo trabalho. Para ver o último commit em cada branch, você pode executar o comando git branch -v:

$ git branch -v
  iss53   93b412c concertar problema em javascript
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 adicionar scott para a lista de autores nos readmes

Outra opção útil para saber em que estado estão seus branches é filtrar na lista somente branches que você já fez ou não o merge no branch que você está atualmente. As opções --merged e --no-merged estão disponíveis no Git desde a versão 1.5.6 para esse propósito. Para ver quais branches já foram mesclados no branch que você está, você pode executar git branch --merged:

$ git branch --merged
  iss53
* master

Por você já ter feito o merge do branch iss53 antes, você o verá na sua lista. Os branches nesta lista sem o * na frente em geral podem ser apagados com git branch -d; você já incorporou o trabalho que existia neles em outro branch, sendo assim você não perderá nada.

Para ver todos os branches que contém trabalho que você ainda não fez o merge, você pode executar git branch --no-merged:

$ git branch --no-merged
  testing

Isso mostra seu outro branch. Por ele conter trabalho que ainda não foi feito o merge, tentar apagá-lo com git branch -d irá falhar:

$ git branch -d testing
error: The branch 'testing' is not an ancestor of your current HEAD.
If you are sure you want to delete it, run `git branch -D testing`.

Se você quer realmente apagar o branch e perder o trabalho que existe nele, você pode forçar com -D, como a útil mensagem aponta.