gittutorial(7)
==============

NAME
----
gittutorial - Um tutorial de introdução ao git (para versão 1.5.1 ou mais nova)

SYNOPSIS
--------
git *

DESCRIPTION
-----------

Este tutorial explica como importar um novo projeto para o git,
adicionar mudanças a ele, e compartilhar mudanças com outros
desenvolvedores.

Se, ao invés disso, você está interessado primariamente em usar git para
obter um projeto, por exemplo, para testar a última versão, você pode
preferir começar com os primeiros dois capítulos de
link:user-manual.html[O Manual do Usuário Git].

Primeiro, note que você pode obter documentação para um comando como
`git log --graph` com:

------------------------------------------------
$ man git-log
------------------------------------------------

ou:

------------------------------------------------
$ git help log
------------------------------------------------

Com a última forma, você pode usar o visualizador de manual de sua
escolha; veja linkgit:git-help[1] para maior informação.

É uma boa idéia informar ao git seu nome e endereço público de email
antes de fazer qualquer operação. A maneira mais fácil de fazê-lo é:

------------------------------------------------
$ git config --global user.name "Seu Nome Vem Aqui"
$ git config --global user.email voce@seudominio.exemplo.com
------------------------------------------------


Importando um novo projeto
-----------------------

Assuma que você tem um tarball project.tar.gz com seu trabalho inicial.
Você pode colocá-lo sob controle de revisão git da seguinte forma:

------------------------------------------------
$ tar xzf project.tar.gz
$ cd project
$ git init
------------------------------------------------

Git irá responder

------------------------------------------------
Initialized empty Git repository in .git/
------------------------------------------------

Você agora iniciou seu diretório de trabalho--você deve ter notado um
novo diretório criado, com o nome de ".git".

A seguir, diga ao git para gravar um instantâneo do conteúdo de todos os
arquivos sob o diretório corrente (note o '.'), com 'git-add':

------------------------------------------------
$ git add .
------------------------------------------------

Este instantâneo está agora armazenado em uma área temporária que o git
chama de "index" ou índice. Você pode armazenar permanentemente o
conteúdo do índice no repositório com 'git-commit':

------------------------------------------------
$ git commit
------------------------------------------------

Isto vai te pedir por uma mensagem de commit. Você agora gravou sua
primeira versão de seu projeto no git.

Fazendo mudanças
--------------

Modifique alguns arquivos, e, então, adicione seu conteúdo atualizado ao
índice:

------------------------------------------------
$ git add file1 file2 file3
------------------------------------------------

Você está agora pronto para fazer o commit. Você pode ver o que está
para ser gravado usando 'git-diff' com a opção --cached:

------------------------------------------------
$ git diff --cached
------------------------------------------------

(Sem --cached, o comando 'git-diff' irá te mostrar quaisquer mudanças
que você tenha feito mas ainda não adicionou ao índice.) Você também
pode obter um breve sumário da situação com 'git-status':

------------------------------------------------
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   file1
#	modified:   file2
#	modified:   file3
#
------------------------------------------------

Se você precisar fazer qualquer outro ajuste, faça-o agora, e, então,
adicione qualquer conteúdo modificado ao índice. Finalmente, grave suas
mudanças com:

------------------------------------------------
$ git commit
------------------------------------------------

Isto irá novamente te pedir por uma mensagem descrevendo a mudança, e,
então, gravar a nova versão do projeto.

Alternativamente, ao invés de executar 'git-add' antes, você pode usar

------------------------------------------------
$ git commit -a
------------------------------------------------

o que irá automaticamente notar quaisquer arquivos modificados (mas não
novos), adicioná-los ao índices, e gravar, tudo em um único passo.

Uma nota em mensagens de commit: Apesar de não ser exigido, é uma boa
idéia começar a mensagem com uma simples e curta (menos de 50
caracteres) linha sumarizando a mudança, seguida de uma linha em branco
e, então, uma descrição mais detalhada. Ferramentas que transformam
commits em email, por exemplo, usam a primeira linha no campo de
cabeçalho Subject: e o resto no corpo.

Git rastreia conteúdo, não arquivos
----------------------------

Muitos sistemas de controle de revisão provêem um comando `add` que diz
ao sistema para começar a rastrear mudanças em um novo arquivo. O
comando `add` do git faz algo mais simples e mais poderoso: 'git-add' é
usado tanto para arquivos novos e arquivos recentemente modificados, e
em ambos os casos, ele tira o instantâneo dos arquivos dados e armazena
o conteúdo no índice, pronto para inclusão do próximo commit.

Visualizando história do projeto
-----------------------

Em qualquer ponto você pode visualizar a história das suas mudanças
usando

------------------------------------------------
$ git log
------------------------------------------------

Se você também quer ver a diferença completa a cada passo, use

------------------------------------------------
$ git log -p
------------------------------------------------

Geralmente, uma visão geral da mudança é útil para ter a sensação de
cada passo

------------------------------------------------
$ git log --stat --summary
------------------------------------------------

Gerenciando "branches"/ramos
-----------------

Um simples repositório git pode manter múltiplos ramos de
desenvolvimento. Para criar um novo ramo chamado "experimental", use

------------------------------------------------
$ git branch experimental
------------------------------------------------

Se você executar agora

------------------------------------------------
$ git branch
------------------------------------------------

você vai obter uma lista de todos os ramos existentes:

------------------------------------------------
  experimental
* master
------------------------------------------------

O ramo "experimental" é o que você acaba de criar, e o ramo "master" é o
ramo padrão que foi criado pra você automaticamente. O asterisco marca
o ramo em que você está atualmente; digite

------------------------------------------------
$ git checkout experimental
------------------------------------------------

para mudar para o ramo experimental. Agora edite um arquivo, grave a
mudança, e mude de volta para o ramo master:

------------------------------------------------
(edita arquivo)
$ git commit -a
$ git checkout master
------------------------------------------------

Verifique que a mudança que você fez não está mais visível, já que ela
foi feita no ramo experimental e você está de volta ao ramo master.

Você pode fazer uma mudança diferente no ramo master:

------------------------------------------------
(edit file)
$ git commit -a
------------------------------------------------

neste ponto, os dois ramos divergiram, com diferentes mudanças feitas em
cada um. Para unificar as mudanças feitas no experimental para o
master, execute

------------------------------------------------
$ git merge experimental
------------------------------------------------

Se as mudanças não conflitarem, estará pronto. Se existirem conflitos,
marcadores serão deixados nos arquivos problemáticos exibindo o
conflito;

------------------------------------------------
$ git diff
------------------------------------------------

vai exibir isto. Após você editar os arquivos para resolver os
conflitos,

------------------------------------------------
$ git commit -a
------------------------------------------------

irá gravar o resultado da unificação. Finalmente,

------------------------------------------------
$ gitk
------------------------------------------------

vai mostrar uma bela representação gráfica da história resultante.

Neste ponto você pode remover seu ramo experimental com

------------------------------------------------
$ git branch -d experimental
------------------------------------------------

Este comando garante que as mudanças no ramo experimental já estão no
ramo atual.

Se você desenvolve em um ramo ideia-louca, e se arrepende, você pode
sempre remover o ramo com

-------------------------------------
$ git branch -D ideia-louca
-------------------------------------

Ramos são baratos e fáceis, então isto é uma boa maneira de experimentar
alguma coisa.

Usando git para colaboração
---------------------------

Suponha que Alice começou um novo projeto com um repositório git em
/home/alice/project, e que Bob, que tem um diretório home na mesma
máquina, quer contribuir.

Bob começa com:

------------------------------------------------
bob$ git clone /home/alice/project myrepo
------------------------------------------------

Isso cria um novo diretório "myrepo" contendo um clone do repositório de
Alice. O clone está no mesmo pé que o projeto original, possuindo sua
própria cópia da história do projeto original.

Bob então faz algumas mudanças e as grava:

------------------------------------------------
(editar arquivos)
bob$ git commit -a
(repetir conforme necessário)
------------------------------------------------

Quanto está pronto, ele diz a Alice para puxar as mudanças do
repositório em /home/bob/myrepo. Ela o faz com:

------------------------------------------------
alice$ cd /home/alice/project
alice$ git pull /home/bob/myrepo master
------------------------------------------------

Isto unifica as mudanças do ramo "master" do Bob ao ramo atual de Alice.
Se Alice fez suas próprias mudanças no intervalo, ela, então, pode
precisar corrigir manualmente quaisquer conflitos. (Note que o argumento
"master" no comando acima é, de fato, desnecessário, já que é o padrão.)

O comando "pull" executa, então, duas operações: ele obtém mudanças de
um ramo remoto, e, então, as unifica no ramo atual.

Note que, em geral, Alice gostaria que suas mudanças locais fossem
gravadas antes de iniciar este "pull". Se o trabalho de Bob conflita
com o que Alice fez desde que suas histórias se ramificaram, Alice irá
usar seu diretório de trabalho e o índice para resolver conflitos, e
mudanças locais existentes irão interferir com o processo de resolução
de conflitos (git ainda irá realizar a obtenção mas irá se recusar a
unificar --- Alice terá que se livrar de suas mudanças locais de alguma
forma e puxar de novo quando isso acontecer).

Alice pode espiar o que Bob fez sem unificar primeiro, usando o comando
"fetch"; isto permite Alice inspecionar o que Bob fez, usando um símbolo
especial "FETCH_HEAD", com o fim de determinar se ele tem alguma coisa
que vale puxar, assim:

------------------------------------------------
alice$ git fetch /home/bob/myrepo master
alice$ git log -p HEAD..FETCH_HEAD
------------------------------------------------

Esta operação é segura mesmo se Alice tem mudanças locais não gravadas.
A notação de intervalo "HEAD..FETCH_HEAD" significa mostrar tudo que é
alcançável de FETCH_HEAD mas exclua tudo o que é alcançável de HEAD.
Alice já sabe tudo que leva a seu estado atual (HEAD), e revisa o que Bob
tem em seu estado (FETCH_HEAD) que ela ainda não viu com esse comando.

Se Alice quer visualizar o que Bob fez desde que suas histórias se
ramificaram, ela pode disparar o seguinte comando:

------------------------------------------------
$ gitk HEAD..FETCH_HEAD
------------------------------------------------

Isto usa a mesma notação de intervalo que vimos antes com 'git log'.

Alice pode querer ver o que ambos fizeram desde que ramificaram. Ela
pode usar a forma com três pontos ao invés da forma com dois pontos:

------------------------------------------------
$ gitk HEAD...FETCH_HEAD
------------------------------------------------

Isto significa "mostre tudo que é alcançável de qualquer um deles, mas
exclua tudo que é alcançável a partir de ambos".

Por favor, note que essas notações de intervalo podem ser usadas tanto
com gitk quanto com "git log".

Após inspecionar o que Bob fez, se não há nada urgente, Alice pode
decidir continuar trabalhando sem puxar de Bob. Se a história de Bob
tem alguma coisa que Alice precisa imediatamente, Alice pode optar por
separar seu trabalho em progresso primeiro, fazer um "pull", e, então,
finalmente, retomar seu trabalho em progresso em cima da história
resultante.

Quando você está trabalhando em um pequeno grupo unido, não é incomum
interagir com o mesmo repositório várias e várias vezes. Definindo um
repositório remoto antes de tudo, você pode fazê-lo mais facilmente:

------------------------------------------------
alice$ git remote add bob /home/bob/myrepo
------------------------------------------------

Com isso, Alice pode executar a primeira parte da operação "pull" usando
o comando 'git-fetch' sem unificar suas mudanças com seu próprio ramo,
usando:

-------------------------------------
alice$ git fetch bob
-------------------------------------

Diferente da forma longa, quando Alice obteve de Bob usando um
repositório remoto antes definido com 'git-remote', o que foi obtido é
armazenado em um ramo remoto, neste caso `bob/master`. Então, após isso:

-------------------------------------
alice$ git log -p master..bob/master
-------------------------------------

mostra uma lista de todas as mudanças que Bob fez desde que ramificou do
ramo master de Alice.

Após examinar essas mudanças, Alice pode unificá-las em seu ramo master:

-------------------------------------
alice$ git merge bob/master
-------------------------------------

Esse `merge` pode também ser feito puxando de seu próprio ramo remoto,
assim:

-------------------------------------
alice$ git pull . remotes/bob/master
-------------------------------------

Note que 'git pull' sempre unifica ao ramo atual, independente do que
mais foi passado na linha de comando.

Depois, Bob pode atualizar seu repositório com as últimas mudanças de
Alice, usando

-------------------------------------
bob$ git pull
-------------------------------------

Note que ele não precisa dar o caminho do repositório de Alice; quando
Bob clonou seu repositório, o git armazenou a localização de seu
repositório na configuração do mesmo, e essa localização é usada
para puxar:

-------------------------------------
bob$ git config --get remote.origin.url
/home/alice/project
-------------------------------------

(A configuração completa criada por 'git-clone' é visível usando `git
config -l`, e a página de manual linkgit:git-config[1] explica o
significado de cada opção.)

Git também mantém uma cópia limpa do ramo master de Alice sob o nome
"origin/master":

-------------------------------------
bob$ git branch -r
  origin/master
-------------------------------------

Se Bob decidir depois em trabalhar em um host diferente, ele ainda pode
executar clones e puxar usando o protocolo ssh:

-------------------------------------
bob$ git clone alice.org:/home/alice/project myrepo
-------------------------------------

Alternativamente, o git tem um protocolo nativo, ou pode usar rsync ou
http; veja linkgit:git-pull[1] para detalhes.

Git pode também ser usado em um modo parecido com CVS, com um
repositório central para o qual vários usuários empurram modificações;
veja linkgit:git-push[1] e linkgit:gitcvs-migration[7].

Explorando história
-----------------

A história no git é representada como uma série de commits
interrelacionados. Nós já vimos que o comando 'git-log' pode listar
esses commits. Note que a primeira linha de cada entrada no log também
dá o nome para o commit:

-------------------------------------
$ git log
commit c82a22c39cbc32576f64f5c6b3f24b99ea8149c7
Author: Junio C Hamano <junkio@cox.net>
Date:   Tue May 16 17:18:22 2006 -0700

    merge-base: Clarify the comments on post processing.
-------------------------------------

Nós podemos dar este nome ao 'git-show' para ver os detalhes sobre este
commit.

-------------------------------------
$ git show c82a22c39cbc32576f64f5c6b3f24b99ea8149c7
-------------------------------------

Mas há outras formas de se referir aos commits. Você pode usar qualquer
parte inicial do nome que seja longo o bastante para identificar
unicamente o commit:

-------------------------------------
$ git show c82a22c39c	# os primeiros caracteres do nome são o bastante
			# usualmente
$ git show HEAD		# a ponta do ramo atual
$ git show experimental	# a ponta do ramo "experimental"
-------------------------------------

Todo commit normalmente tem um commit "pai" que aponta para o estado
anterior do projeto:

-------------------------------------
$ git show HEAD^  # para ver o pai de HEAD
$ git show HEAD^^ # para ver o avô de HEAD
$ git show HEAD~4 # para ver o trisavô de HEAD
-------------------------------------

Note que commits de unificação podem ter mais de um pai:

-------------------------------------
$ git show HEAD^1 # mostra o primeiro pai de HEAD (o mesmo que HEAD^)
$ git show HEAD^2 # mostra o segundo pai de HEAD
-------------------------------------

Você também pode dar aos commits nomes à sua escolha; após executar

-------------------------------------
$ git tag v2.5 1b2e1d63ff
-------------------------------------

você pode se referir a 1b2e1d63ff pelo nome "v2.5". Se você pretende
compartilhar esse nome com outras pessoas (por exemplo, para identificar
uma versão de lançamento), você deveria criar um objeto "tag", e talvez
assiná-lo; veja linkgit:git-tag[1] para detalhes.

Qualquer comando git que precise conhecer um commit pode receber
quaisquer desses nomes. Por exemplo:

-------------------------------------
$ git diff v2.5 HEAD	 # compara o HEAD atual com v2.5
$ git branch stable v2.5 # inicia um novo ramo chamado "stable" baseado
			 # em v2.5
$ git reset --hard HEAD^ # reseta seu ramo atual e seu diretório de
			 # trabalho a seu estado em HEAD^
-------------------------------------

Seja cuidadoso com o último comando: além de perder quaisquer mudanças
em seu diretório de trabalho, ele também remove todos os commits
posteriores desse ramo. Se esse ramo é o único ramo contendo esses
commits, eles serão perdidos. Também, não use 'git-reset' num ramo
publicamente visível de onde outros desenvolvedores puxam, já que vai
forçar unificações desnecessárias para que outros desenvolvedores limpem
a história. Se você precisa desfazer mudanças que você empurrou, use
'git-revert' no lugar.

O comando 'git-grep' pode buscar strings em qualquer versão de seu
projeto, então

-------------------------------------
$ git grep "hello" v2.5
-------------------------------------

procura por todas as ocorrências de "hello" em v2.5.

Se você deixar de fora o nome do commit, 'git-grep' irá procurar
quaisquer dos arquivos que ele gerencia no diretório corrente. Então

-------------------------------------
$ git grep "hello"
-------------------------------------

é uma forma rápida de buscar somente os arquivos que são rastreados pelo
git.

Muitos comandos git também recebem um conjunto de commits, o que pode
ser especificado de várias formas. Aqui estão alguns exemplos com 'git-log':

-------------------------------------
$ git log v2.5..v2.6            # commits entre v2.5 e v2.6
$ git log v2.5..                # commits desde v2.5
$ git log --since="2 weeks ago" # commits das últimas 2 semanas
$ git log v2.5.. Makefile       # commits desde v2.5 que modificam
				# Makefile
-------------------------------------

Você também pode dar ao 'git-log' um "intervalo" de commits onde o
primeiro não é necessariamente um ancestral do segundo; por exemplo, se
as pontas dos ramos "stable" e "master" divergiram de um commit
comum algum tempo atrás, então

-------------------------------------
$ git log stable..master
-------------------------------------

irá listar os commits feitos no ramo "master" mas não no ramo
"stable", enquanto

-------------------------------------
$ git log master..stable
-------------------------------------

irá listar a lista de commits feitos no ramo "stable" mas não no ramo
"master".

O comando 'git-log' tem uma fraqueza: ele precisa mostrar os commits em
uma lista. Quando a história tem linhas de desenvolvimento que
divergiram e então foram unificadas novamente, a ordem em que 'git-log'
apresenta essas mudanças é irrelevante.

A maioria dos projetos com múltiplos contribuidores (como o kernel
Linux, ou o próprio git) tem unificações frequentes, e 'gitk' faz um
trabalho melhor de visualizar sua história. Por exemplo,

-------------------------------------
$ gitk --since="2 weeks ago" drivers/
-------------------------------------

permite a você navegar em quaisquer commits desde as últimas duas semanas
de commits que modificaram arquivos sob o diretório "drivers". (Nota:
você pode ajustar as fontes do gitk segurando a tecla control enquanto
pressiona "-" ou "+".)

Finalmente, a maioria dos comandos que recebem nomes de arquivo permitirão
também, opcionalmente, preceder qualquer nome de arquivo por um
commit, para especificar uma versão particular do arquivo:

-------------------------------------
$ git diff v2.5:Makefile HEAD:Makefile.in
-------------------------------------

Você pode usar 'git-show' para ver tal arquivo:

-------------------------------------
$ git show v2.5:Makefile
-------------------------------------

Próximos passos
----------

Este tutorial deve ser o bastante para operar controle de revisão
distribuído básico para seus projetos. No entanto, para entender
plenamente a profundidade e o poder do git você precisa entender duas
idéias simples nas quais ele se baseia:

  * A base de objetos é um sistema bem elegante usado para armazenar a
    história de seu projeto--arquivos, diretórios, e commits.

  * O arquivo de índice é um cache do estado de uma árvore de diretório,
    usado para criar commits, restaurar diretórios de trabalho, e
    armazenar as várias árvores envolvidas em uma unificação.

A parte dois deste tutorial explica a base de objetos, o arquivo de
índice, e algumas outras coisinhas que você vai precisar pra usar o
máximo do git. Você pode encontrá-la em linkgit:gittutorial-2[7].

Se você não quiser continuar com o tutorial agora nesse momento, algumas
outras digressões que podem ser interessantes neste ponto são:

  * linkgit:git-format-patch[1], linkgit:git-am[1]: Estes convertem
    séries de commits em patches para email, e vice-versa, úteis para
    projetos como o kernel Linux que dependem fortemente de patches
    enviados por email.

  * linkgit:git-bisect[1]: Quando há uma regressão em seu projeto, uma
    forma de rastrear um bug é procurando pela história para encontrar o
    commit culpado. Git bisect pode ajudar a executar uma busca binária
    por esse commit. Ele é inteligente o bastante para executar uma
    busca próxima da ótima mesmo no caso de uma história complexa
    não-linear com muitos ramos unificados.

  * link:everyday.html[GIT diariamente com 20 e tantos comandos]

  * linkgit:gitcvs-migration[7]: Git para usuários de CVS.

VEJA TAMBÉM
--------
linkgit:gittutorial-2[7],
linkgit:gitcvs-migration[7],
linkgit:gitcore-tutorial[7],
linkgit:gitglossary[7],
linkgit:git-help[1],
link:everyday.html[git diariamente],
link:user-manual.html[O Manual do Usuário git]

GIT
---
Parte da suite linkgit:git[1].
