
Git é um Software Livre para controle de versão distribuído. Git foi inicialmente criado por Linus Torvalds para o desenvolvimento do kernel Linux (kernel). O objetivo do Git é atender os requisitos do modelo de desenvolvimento do kernel, tais como desenvolvimento distribuído, manipulação de grandes conjuntos de arquivos, operações de junção (merge) complexas, rapidez, etc.
Cada diretório de trabalho Git é um repositório com todos os históricos e habilidade total de controle das revisões, não dependente de acesso a uma rede ou a um servidor central.
Vários projetos de software agora usam Git para controle de versão[1], exemplos notáveis como Kernel do Linux, Servidor X.org, Qt (toolkit), Um laptop por criança (OLPC) desenvolvimento do núcleo[2], e a ferramenta de trabalho web Ruby on Rails.
O design do Git foi inspirado por dois outros sistemas de versionamento: BitKeeper e Monotone. O Git foi criado originalmente apenas como um mecanismo de baixo nível, que outros poderiam usar para escrever front-ends.
Com a modernização e o advento do GitwebitWeb[3], esses front-ends, como o Cogito, tornaram-se obsoletos (atualmente deprecated em várias distribuições Linux)
Entretanto, o projeto principal do Git acabou virando um sistema de controle de versão completo, que pode ser usado diretamente. Hoje em dia, vários projetos de alto nível já usam o Git para controle de versões, destacando-se entre eles o kernel Linux.
O atual responsável pela manutenção do projeto é Junio Hamano. Liberado sob a licença GPL, o Git é software livre.
(Fonte : Wikipedia, é claro! Link : http://pt.wikipedia.org/wiki/Git)
Dicas pra você poupar os dedinhos :
1) Tab completa o nome do arquivo, assim se o nome do arquivo é paralelepipedo.php, você digita par e pressiona esc, se não houver outro arquivo que comece com par, o nome paralelepipedo.php será escrito.
2) Pressione as setas subir ou descer para repetir os últimos comandos.
3) Clicando com o botão direito na parte superior(parte azul) da janela do Git Bash você pode colar um texto, escolhendo editar/colar.
Download
Para windows : http://code.google.com/p/msysgit/

Instalação
Utilizei as opções padrão (default) do software.
Configuração
Abra o Git Bash, criado com a instalação do Git.
Crie uma identificação no git
git config --global user.name "Seu nome"
git config --global user.email "
Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
"
Configuração de cores no terminal
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
Primeiro projeto
Para iniciar vamos criar uma pasta vazia, exemplo xx navegar até ela com cd
cd ..
cd ..
mkdir xx
cd xx
git init
Este comando cria o repositório, adicionando a pasta .git dentro da pasta xx.
Copie alguns arquivos nesta pasta e digite
git add .
Este comando adiciona os arquivos na Staging area, que é uma área provisória onde os arquivos são guardados até o commit; Para adicionar arquivos individuais ou por extenção, digite :
git add *.js
ou
git add index.php
Agora vamos fazer o commit
git commit -m "mensagem"
Onde -m "mensagem" especifica um texto que identifique as alterações da versão.
Para pular a Staging area, digite
git commit -am "mensagem"
Obs: Este comando funciona para arquivos modificados, arquivos novos devem ser adicionados com git add nomedoarquivo.ext
git status
Permite ver o estado do seu código, se não existem alterações ou arquivos novos será exibida a mensagem na imagem abaixo.

Criando branches ou ramificações
Um belo dia você tem uma idéia do balacubacu e ai, ai,ai, não quer por em risco todo trabalho que teve até então, pois bem, você cria uma ramificação ou mais bonitinho, um branch.
git branch novaIdeia
Pronto, sua ramificação esta criada.
Agora digite
git checkout novaIdeia para ir para esta área.
Obs: Você pode criar o branch e ir para este branch com um único comando : git checkout -b ideiaGenial

Vejam que interessante, os arquivos criados e commitados neste branch, desaparecem do diretório xx quando você vai para outro branch (git checkout master, por exemplo), faça um teste.
Observe que estes arquivos devem ser adicionados com git add nomedoarquivo.php e commitado com git commit -m "novo arquivo".
Juntando as ramificações
Agora que sua ramificação feita para testar aquela idéia deu certo e esta tudo bonitinho, é hora de juntar os branches, primeiro confirme que esta no branch master

Se estiver em outro branch digite :
git checkout master
Agora para juntar as versões :
git merge novaIdeia
Para apagar o branch novaIdeia digite :
git branch -d novaIdeia
Log
Para visualizar o log ou histórico de suas modificações digite :
git log
Para um log quase gráfico digite :
git log --graph
E o papai dos logs, que abre uma janela com informações bem apresentadas :
gitk --all

Hospedando em um repositório na Web
Você pode hospedar seus projetos em um repositório Web, um dos mais utilizados é o Github.

Como você pode ver na lista de clientes esta o Yahoo, Facebook, etc.
Github tem uma opção gratuita que permite repositórios públicos ilimitados, com número ilimitado de colaboradores e 300MB de espaço e planos que vão de U$7/mês até U$200/mês, que possibiliotam desde 5 repositórios privados, com 600MB de espaço até 300 repositórios privados com 60 GB de espaço e SSL.
Para criar uma conta no Github você deve fornecer uma chave pública SSH, que pode ser criada no Git Bash :
ssh-keygen -t rsa -C " Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo. "
Tecle enter 3 vezes e procure o arquivo id_rsa.pub, copie e cole no campo apropriado no registro do Github
Esta chave deve ficar na pasta onde foi criada, pois o Github irá procurá-la para comparar com a chave fornecida ao criar a conta.
Baixando um projeto do Github
Você pode baixar projetos de repositórios públicos, assim :
git://github.com/rails/rails.git
A pasta rails será criada e populada com os arquivos do projeto.
Enviando os arquivos do seu projeto
Seu projeto deve estar com o commit em dia, sem pendências (verifique com git status), então :
git remote add origin
Este endereço de e-mail está protegido contra spambots. Você deve habilitar o JavaScript para visualizá-lo.
:albertomarlboro/teste.git
git push origin master
Pronto, seus arquivos estão no Github sãos e salvos.
Colaboradores
Se você é um coloborador você pode obter as atualizações do projeto com :
git pull
Cuja função é verificar as modificações e atualizar sua cópia local.
Referências :
Notas do Andrew Burgess (cheat sheet, etc)
Gitcasts - Screencasts sobre o Git.
Outros repositórios :
Créditos :
Este tutorial é baseado em um texto do Andrew Burgess, criado para o excelente site NetTuts+, segui um roteiro semelhante, mas com imagens e texto próprios.






