-
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 Instalar o Git
- 1.6 Configuração Inicial do Git
- 1.7 Pedindo Ajuda
- 1.8 Resumo
-
2. Noções Básicas do Git
- 2.1 Obtendo um Repositório Git
- 2.2 Recording Changes to the Repository
- 2.3 Veja o Histórico de Confirmação
- 2.4 Desfazer Coisas
- 2.5 Working with Remotes
- 2.6 Tagging
- 2.7 Alias Git
- 2.8 Resumo
-
3. Ramificação do Git
- 3.1 Branches in a Nutshell
- 3.2 Basic Branching and Merging
- 3.3 Branch Management
- 3.4 Branching Workflows
- 3.5 Remote Branches
- 3.6 Rebasing
- 3.7 Resume
-
4. Git no Servidor
- 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 Opções Hospedadas de Terceiros
- 4.10 Resumo
-
5. Git Distribuído
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Resumo
-
6. GitHub
-
7. Ferramentas do Git
- 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 Resumo
-
8. Personalizar o Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Resumo
-
9. O Git e Outros Sistemas
- 9.1 O Git como Cliente
- 9.2 Migrar para o Git
- 9.3 Resumo
-
10. Internos do Git
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Resumo
-
A1. Appendix A: Git em Outros Ambientes
- A1.1 Graphical Interfaces
- A1.2 Git no Visual Studio
- A1.3 Git no Eclipse
- A1.4 Git in Bash
- A1.5 Git no Zsh
- A1.6 Git no Powershell
- A1.7 Resumo
-
A2. Appendix B: Incorporar o Git nos teus Aplicativos
- A2.1 Linha de comando 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
2.1 Noções Básicas do Git - Obtendo um Repositório Git
Se tu podes ler apenas um capítulo para começares com o Git, é isto aqui. Este capítulo aborda todos os comandos básicos que tu precisas para fazer a grande maioria das coisas que eventualmente passarás o teu tempo a fazer com o Git. Até o final do capítulo, deverás ser capaz de configurar e inicializar um repositório, iniciar e parar arquivos de rastreamento, e organizar e confirmar as alterações. Também mostraremos como configurar o Git para ignorar determinados arquivos e padrões de arquivos, como desfazer erros de forma rápida e fácil, como procurar o histórico do teu projeto e visualizar mudanças entre os compromissos e como empurrar e puxar dos repositórios remotos .
Obtendo um Repositório Git
Tu normalmente obtens um repositório Git de duas maneiras:
-
Tu podes pegar num diretório local que atualmente não está sob controle da versão, e transformá-lo num repositório Git, ou
-
Tu podes clonas um repositório Git existente em qualquer outro local.
Em ambos os casos, acabas com um repositório Git na tua máquina local, pronto para o trabalho.
Inicializando um Repositório num Diretório Existente
Se tens um diretório de projeto que atualmente não está sob o controle da versão e desejas começar a controlá-lo com o Git, primeiro precisas de ir para o diretório deste projeto Se nunca fizeste isto, parece um pouco diferente, dependendo do sistema que tu estás a executar:
para o Linux:
$ cd /home/user/my_project
para o Mac:
$ cd /Users/user/my_project
para o Windows:
$ cd /c/user/my_project
e digita:
$ git init
Isto cria um novo subdiretório chamado .git
que contém todos os teus arquivos de repositório necessários — um esqueleto de depósito Git.
Neste ponto, nada no teu projeto ainda é rastreado.
(Vê Internos do Git para obter mais informações sobre quais os arquivos que exatamente se encontram contidos no diretório .git
que tu acabaste de criar.)
Se tu quiseres iniciar a versão - controlando os arquivos existentes (em oposição a um diretório vazio), provavelmente tu deverás começar a rastrear estes arquivos e fazer um commit inicial.
Podes conseguir isto com alguns comandos git add
que especificam os arquivos que desejas acompanhar, seguidos de git commit
:
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
Examinaremos o que estes comandos fazem em apenas um minuto. Neste ponto, tens um repositório Git com arquivos rastreados e um commit inicial.
Clonar um Repositório Existente
Se tu quiseres obter uma cópia de um repositório Git existente - por exemplo, um projeto ao qual tu gostarias de contribuir - o comando que precisas é git clone
.
Se tu estiveres familiarizado com outros sistemas VCS, como o Subversion, notarás que o comando é o "clone" e não o "checkout".
Esta é uma distinção importante — em vez de obteres apenas uma cópia de trabalho, o Git recebe uma cópia completa de quase todos os dados que o servidor possui.
A versão muito completa de cada arquivo para o histórico do projeto é puxada para baixo por padrão quando executas o `clipe git '.
De fato, se o teu disco do servidor estiver corrompido, podes usar quase qualquer um dos clones em qualquer cliente para configurar o servidor de volta ao estado em que se encontrava quando foi clonado (podes perder alguns ganchos do lado do servidor e tal, mas Todos os dados versionados estarão lá — vê Getting Git on a Server para mais detalhes).
Tu clonas um repositório com git clone <url>
.
Por exemplo, se tu quiseres clonar a biblioteca Git vinculável chamada libgit2
, podes fazê-lo assim:
$ git clone https://github.com/libgit2/libgit2
Isto cria um diretório chamado libgit2
, inicializa um diretório '.git` dentro dele, retira todos os dados deste repositório e verifica uma cópia de trabalho da versão mais recente.
Se tu entrares no novo diretório libgit2
que acabou de ser criado, verás os arquivos do projeto lá, prontos para serem trabalhados ou usados.
Se tu quiseres clonar o repositório num diretório chamado algo diferente de libgit2
, podes especificar isto como a próxima opção da linha de comando:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Este comando faz o mesmo que o anterior, mas o diretório de destino é chamado mylibgit
.
O Git possui vários protocolos de transferência diferentes que tu podes usar.
O exemplo anterior usa o protocolo https://
, mas tu também podes ver git://
ou user@server:path/to/repo.git
, que usa o protocolo de transferência SSH.
Getting Git on a Server apresentará todas as opções disponíveis que o servidor pode configurar para aceder ao teu repositório Git e os prós e contras de cada um.