Git
Chapters ▾ 2nd Edition

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:

  1. 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

  2. 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.