Criando e usando um repositório Git
Autor: Tiago de Campos | Publicado: 2012-02-02T14:02:00-02:00

Olá,

neste post vou ensinar como criar e usar, de um forma simples, um repositório git para controle de versão de algum projeto seu.

Antes de prosseguir assegure-se de ter feito um backup de todos os arquivos envolvidos no processo caso haja algum problema!

Vou assumir que você tenha um máquina que serve de servidor de arquivos para a sua rede, configurada e funcional, e estações de trabalhos onde serão feitas as modificações do seu projeto. Tudo foi testado em um servidor com o Debian Squeeze e Ubuntu Oneiric nas estações de trabalhos.

Primeiro temos que instalar o git nas máquinas (em todas):

$ sudo apt-get install git-core

Como queremos montar um repositório público, ou seja, um repositório no qual os usuários possam não só clonar o&nbsp;conteúdo&nbsp;como também modificá-lo temos que prosseguir da&nbsp;seguinte&nbsp;maneira.

No servidor vamos criar um pasta&nbsp;e copiaremos o conteúdo que fará parte do projeto:

$ mkdir /home/git&nbsp;

$ mkdir &nbsp;/home/git/repo&nbsp;

$ cp -a projeto/* /home/git/repo/
onde a pasta projeto deve refletir a pasta que contenha o seu projeto que será adicionado ao&nbsp;repositório.

Assim feito vamos iniciar o git

$ cd /home/git/repo

$ git init
Adicionar todos os arquivo

$ git add .
Fazer o commit dos mesmos

$ git commit -a
Agora vamos criar um repositório que será publico

$cd /home/git&nbsp;

$ mkdir repopublic

$ cd repopublic

$ git init --bare

$ cd ../repo

$ git push /home/git/repopublic master:master

Assim feito teremos duas pastas, a "repo' é o repositório normal e a "repopublic" é o repositório público &nbsp;no qual poderão ser feitas as mudanças usando o comando git push.

Para os usuários começarem a trabalhar em conjunto no projeto é necessário que os mesmo façam um clone do repositório nas suas estações de trabalhos.&nbsp;Também é necessário que os usuários se identifiquem para o git (cada usuário deve fazer na sua máquina):


$&nbsp;git config --global user.email "seu e-mail"

$&nbsp;git config --global user.name "seu nome"

Se a rede estiver configurada para&nbsp;compartilhamento&nbsp;de arquivos, basta;

$ git clone /home/git/repopublic meurepo
Se não:

$ git clone ssh://endereçodoservidor/home/git/repopublic meurepo
ou substitua o ssh por git ou por http.

Para não digitar toda vez o caminho completo vamos criar um apelido:

$ git remote add origin ssh://endereçodoservidor/home/git/repopublic
ou qualquer que seja o caminho para o repositório público.

Com a cópia feita agora eles podem começar as modificações, é recomendável que cada um faça uma ramificação para melhor organização, ou seja, o usuário deve clonar o repositório público e depois fazer:

$ git branch nomedaramificação

e para verificar quais ramificaçoes existem

$ git branch

Para marcar um ramificação para edição

$ git checkout nomedaramificação

Uma vez editados e criados arquivos novos o usuário deve fazer, para cada arquivo novo:

$ git add file1 file2 file3 ...

e depois

$ git commit -a

Para juntar as ramificações com a original

$ git checkout master

$ git merge nomedaramificação

e para mandar as modificações para o repositório primeiro é bom verificar se houve algum atualização com

$ git fetch origin

$ git push origin master:master
Para apagar a ramificação criada

$ git branch -d nomedaramificação

Existem outras maneiros de se trabalhar com o git, a que eu apresentei é somente uma delas.


Fontes e mais opções:
codexico parte 1
codexico parte 2 
The Git Community Book