-
1. Começando
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 O Básico do Git
- 1.4 A Linha de Comando
- 1.5 Instalando o Git
- 1.6 Configuração Inicial do Git
- 1.7 Pedindo Ajuda
- 1.8 Sumário
-
2. Fundamentos de Git
-
3. Branches no Git
-
4. Git on the Server
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Generating Your SSH Public Key
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Third Party Hosted Options
- 4.10 Summary
-
5. Distributed Git
-
6. GitHub
- 6.1 Configurando uma conta
- 6.2 Contribuindo em um projeto
- 6.3 Maintaining a Project
- 6.4 Managing an organization
- 6.5 Scripting GitHub
- 6.6 Summary
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Funcionamento Interno do Git
- 10.1 Encanamento e Porcelana
- 10.2 Objetos do Git
- 10.3 Referências do Git
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Variáveis de ambiente
- 10.9 Sumário
-
A1. Appendix A: Git em Outros Ambientes
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Resumo
-
A2. Appendix B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
3.3 Branches no Git - Gestão de Branches
Gestão de Branches
Agora que você criou, mesclou e excluiu alguns branches, vamos dar uma olhada em algumas ferramentas de gerenciamento de branches que serão úteis quando você começar a usar o tempo todo.
O comando git branch
faz mais do que apenas criar e excluir branches.
Se você executá-lo sem argumentos, obterá uma lista simples de seus branches atuais:
$ git branch
iss53
* master
testing
Observe o caractere *
que no início do master
: ele indica o branch que você fez check-out (ou seja, o branch para o qual HEAD
aponta).
Isso significa que se você fizer commit neste ponto, o branch master
será movido para frente com seu novo trabalho.
Para ver o último commit em cada branch, você pode executar git branch -v
:
$ git branch -v
iss53 93b412c Fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 Add scott to the author list in the readme
As opções --merged
e --no-merged
podem filtrar esta lista para branches que você tem ou ainda não mesclou no branch em que está atualmente.
Para ver quais branches já estão mesclados no branch em que você está, você pode executar git branch --merged
:
$ git branch --merged
iss53
* master
Como você já mesclou o iss53
anteriormente, você o vê na sua lista.
Branches que aparecem na lista sem o *
na frente deles geralmente podem ser deletados com git branch -d
; você já incorporou o trabalho deles em outro branch, então não vai perder nada.
Para ver todos os branches que contêm trabalhos que você ainda não mesclou, você pode executar git branch --no-merged
:
$ git branch --no-merged
testing
Isso mostra seu outro branch.
Por conter trabalho que ainda não foi mesclado, tentar excluí-lo com git branch -d
irá não irá executar:
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
Se você realmente deseja excluir o branch e perder esse trabalho, pode forçá-lo com -D
, como mostra a mensagem.
Tip
|
As opções descritas acima, Você sempre pode fornecer um argumento adicional para perguntar sobre o estado de mesclagem em relação a algum outro branch sem verificar esse outro branch primeiro, como: O que não foi feito merge no branch
|