Git básico

Republico este excelente artigo.

Instalação

A instalação do git é super simples. Caso utilize Debian ou Ubuntu simplesmente execute:
 apt-get install git-core gitk
e pronto, o git está instalado.

Configuração

Configurar o git é simples. Para configurar para utilizar seu nome/e-mail para identificá-lo nos commits:
 git config --global user.name ''
 git config --global user.email ''
Substitua '' e '' pelo seu nome e e-mail respectivamente.
Para "colorizar" o git:
 git config --global color.branch auto
 git config --global color.diff auto
 git config --global color.interactive auto
 git config --global color.status auto
Para configurar o editor de texto padrão utilizado pelo git:
 git config --global core.editor "vim"
Para mais opçoes confira a documentação do git-config[1]

Criar um repositório

Antes de criar um repositório uma pequena explicação sobre o funcionamento do git. Quando se trabalha com o git devemos lembar que o git possui “dois ambientes”.
  1. Repositório: a pasta .git onde são armazenados todos os dados e configurações do seu repositório
  2. Palco: do inglês, stage, é o local no qual trabalhamos, onde nossos arquivos estão localizados enquanto os editamos.
Na pasta que deseja criar o repositório, qualquer pasta no seu computador, execute:
 git init
Adicione os arquivos que deseja ao repositório:
 git add *.py
Adiciona todos os arquivos com extensão .py ao repositório.
Faça o seu primeiro commit:
 commit -a -m 'import inicial dos arquivos .py'
-a / --all : automaticamente tratar os arquivos modificados e apagados no palco sem tocar nos arquivos que o git ainda não conhece, aqueles que não foram adicionados via git add
-m / --message  : Utilizar como a mensagem de commit não acionando o editor padrão

E pronto. Para conferir o histórico do commits utilize o command git log
 git log

Galhos e Mesclamento

É justamente quando se necessita trabalhar com galhos, do inglês branches, é que o git realmente se torna uma ferramenta produtiva.
Se, durante o desenvolvimento, for necessário fazer algumas alterações você não necessariamente necessita fazê-las no galho master, o galho principal no git.
Por exemplo, para se criar um galho para o recurso01 executa-se o comando:
 git checkout -b recurso01
git checkout – atualizar o palco de acordo com a versão/galho especificado.
-b: criar um novo galho iniciando com o estado atual do galho em que estamos trabalhando e mover o palco para ele.
Agora é possível fazer todas as alterações no galho “recurso01”. Não esquecer de fazer os commits regularmente de acordo com a necessidade. Apenas execute:
 git commit -a
E o git irá abrir seu editor padrão para que sejam feitos os comentários/mensagens do commit.
Caso necessite trabalhar com o código do galho master, simplesmente execute:
 git checkout master
E continue trabalhando. Quando necessitar voltar aos galho recurso01, execute:
  git checkout recurso01
e pronto.
Bem. Você manteve o galho master com o código estável, fez todas as alterações e testes no galho recurso01 e, o mais difícil de tudo, o chefe/cliente aprovou as alterações. Está na hora de fazer a mescla do recurso01 no galho mestre.
  git pull . recurso01

Repositórios Remotos

Até agora apenas trabalhamos com um repositório local. Mas e se for necessário trabalhar com mais pessoas, trabalhar em mais de um computador ou simplesmente se deseja disponibilizar o ou seu código em um repositório público?
Para se criar um clone de um repositório existente utiliza-se o comando:
 git clone usuario@computador:/caminho/para/o/repositorio
é claro que podemos fazer um clone de um repositório na mesma máquia com o comando
 git clone /caminho/para/o/repositorio

Enviando e recebendo alterações para o repositório remoto

Depois de feitas as alterações nós devemos enviá-las ao repositório remoto. Para isso utilizamos o comando:
 git push
Caso desejemos enviar um galho específico, utilizamos o nome do galho como parâmetro:
 git push recurso01
Para se atualizar nosso repositório de acordo com as alterações remotas utliza-se o commando
 git pull
E para se pegar um galho específico, utilizamos o nome do galho como parâmetro:
 git pull recurso01

Trabalhando com mais de um repositório remoto

Caso vocês seja como eu que utilizo o mesmo repostório em meu computador, meu notebook, no meu provedor de hospedagem – para utilizar os recursos do redmine-, e no github – para disponibilizar o repositório publicamente, você vai necessitar cadastrar todos os repositórios no seu repositório como repositórios remotos. Para adicionar o repositório em meu provedor utilizaria o comando:
 git remote add provedor usuario@urldoprovedor.com.br:/caminho/do/repositorio
E a partir de agora, sempre que quiser atualizar o repositório do provedor com minhas alterações locais é só executar:
 git push provedor
E para enviar o galho recurso01:
 git push provedor recurso01

Referências

Fonte:
http://www.frustrado.com.br/main/index.php/Tutorial:_Git_b%C3%A1sico

Comentários