-
1. Primeiros passos
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 Noções Básicas de Git
- 1.4 Instalando Git
- 1.5 Configuração Inicial do Git
- 1.6 Obtendo Ajuda
- 1.7 Resumo
-
2. Git Essencial
-
3. Ramificação (Branching) no Git
- 3.1 O que é um Branch
- 3.2 Básico de Branch e Merge
- 3.3 Gerenciamento de Branches
- 3.4 Fluxos de Trabalho com Branches
- 3.5 Branches Remotos
- 3.6 Rebasing
- 3.7 Sumário
-
4. Git no Servidor
- 4.1 Os Protocolos
- 4.2 Configurando Git no Servidor
- 4.3 Gerando Sua Chave Pública SSH
- 4.4 Configurando o Servidor
- 4.5 Acesso Público
- 4.6 GitWeb
- 4.7 Gitosis
- 4.8 Gitolite
- 4.9 Serviço Git
- 4.10 Git Hospedado
- 4.11 Sumário
-
5. Git Distribuído
-
6. Ferramentas do Git
- 6.1 Seleção de Revisão
- 6.2 Área de Seleção Interativa
- 6.3 Fazendo Stash
- 6.4 Reescrevendo o Histórico
- 6.5 Depurando com Git
- 6.6 Submódulos
- 6.7 Merge de Sub-árvore (Subtree Merging)
- 6.8 Sumário
-
7. Customizando o Git
- 7.1 Configuração do Git
- 7.2 Atributos Git
- 7.3 Hooks do Git
- 7.4 Um exemplo de Política Git Forçada
- 7.5 Sumário
-
8. Git e Outros Sistemas
- 8.1 Git e Subversion
- 8.2 Migrando para o Git
- 8.3 Resumo
-
9. Git Internamente
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.