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 conteúdo como também modificá-lo temos que prosseguir da seguinte maneira.
No servidor vamos criar um pasta e copiaremos o conteúdo que fará parte do projeto:
$ mkdir /home/git
$ mkdir /home/git/repo
$ cp -a projeto/* /home/git/repo/onde a pasta projeto deve refletir a pasta que contenha o seu projeto que será adicionado ao repositório.
Assim feito vamos iniciar o git
$ cd /home/git/repo
$ git initAdicionar todos os arquivo
$ git add .Fazer o commit dos mesmos
$ git commit -aAgora vamos criar um repositório que será publico
$cd /home/git
$ 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 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. Também é necessário que os usuários se identifiquem para o git (cada usuário deve fazer na sua máquina):
$ git config --global user.email "seu e-mail"
$ git config --global user.name "seu nome"
Se a rede estiver configurada para compartilhamento de arquivos, basta;
$ git clone /home/git/repopublic meurepoSe não:
$ git clone ssh://endereçodoservidor/home/git/repopublic meurepoou 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/repopublicou 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:masterPara 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
Olá meu caro!!! Tudo bem?
ResponderExcluirprimeiramente obrigado pelo post, otimo, ajudou muito o nosso time para criar um repositorio local em nossa empresa, porem, no meu repositorio há dois projetos, gostaria de clonar apenas um
git clone ssh://endereco/home/git/public-repo funciona muito bem, mas quando tento ssh://endereco/home/git/public-repo/projeto ele não reconhece, tem alguma ideia sobre isso???
desde já muito obrigado
Vlw!!!!!
Olá, tb bem e vc?
ResponderExcluirQue bom que te ajudou!
Neste caso, acho q seria melhor vc criar dois repositórios git, um para cada projeto!
Eu mesmo faço isso. Cada repositório toma conta de um projeto específico.
Até mais