Páginas

Mostrando postagens com marcador repositório. Mostrar todas as postagens
Mostrando postagens com marcador repositório. Mostrar todas as postagens

quinta-feira, 2 de fevereiro de 2012

Criando e usando um repositório Git

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 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 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 
$ 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 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

quinta-feira, 8 de dezembro de 2011

Adicionando Chaves Publicas (Public Key) no Ubuntu

Olá pessoal,

No post de hoje vou ensinar como adicionar uma chave publica de um repositório no Ubuntu. As vezes nós adicionamos alguma entrada no arquivo sources.list e quando vamos atualizar (apt-get update) obtemos um erro semelhante à esse:

W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 976B5901365C5CA1

Para arrumar, execute o comando abaixo como ROOT:

# gpg --recv-key 976B5901365C5CA1 && gpg -a --export 976B5901365C5CA1 | apt-key add -

na primeira vez que eu executei o comando obtive esta saída:

gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: no keyserver known (use option --keyserver)
gpg: keyserver receive failed: bad URI

já na segunda:

gpg: requesting key 365C5CA1 from hkp server keys.gnupg.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 365C5CA1: public key "Launchpad PPA for transmissionbt" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

Agora basta repetir o comando para todas os repositórios que deram problema! É bem simples e para verificar se funcionou:

$ sudo apt-get update

e não deve aparecer nenhum erro relacionado às chaves publicas!