O GIT

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa

Índice

Antes de começar

O GIT opera somente via acesso SSH, já ativo, por padrão, nos servidores da Integrator. O que apresentaremos a seguir é um exemplo de como usá-lo.O usuário javaworld, assim como o domínio integrator.com.br, são apenas exemplos. Substitua pelo seu hospedado.
No caso de máquinas virtuais Cloud revenda, não é configurado por padrão nas versões de CentOS 6. O usuário pode pedir ao nosso suporte para configurá-lo.

Comandos para adicionar o GIT no Servidor

Execute estes comandos no Terminal SSH:

 mkdir ~/repo/depot
git --bare init

Comandos para adicionar o GIT em sua máquina local

Execute estes comandos Localmente no seu terminal SSH:

#Dentro do projeto:
git init
git add .
git commit -a -m "Initial Commit"
git remote add origin ssh://javaworld@integrator.com.br/~/repo/depot
git push origin master

Nota: É possível usar o "git push" toda vez que quiser atualizar o servidor.


Em outra máquina

Para outro usuário, em outra máquina, que deseja usar seu repositório, crie um novo par de chaves SSH, fazendo o seguinte:

scp ~/.ssh/id_rsa.pub seu_login@integrator.com.br:~/.ssh
ssh seu_login@integrator.com.br
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


O comando acima adicionará uma nova chave à sua conta e permitirá o outro usuário de acessar seu repositório.

Clonando o repositório

Para começar a colaborar, na máquina dele, use o comando "git clone". Isso criará um clone do projeto na máquina do usuário. O usuário pode contribuir usando "git push" e ambos podem pegar as atualizações, um do outro, feito no servidor, usando o comando "git pull".

git clone ssh://seu_login@integrator.com.b/~/repo/depot


Configurando uma key para não ficar digitando em SO Linux/Mac OS

1) Crie as keys no painel cPanel. Caso não saiba como fazer, clique aqui. 2) Baixe-as e as coloque em ~/.ssh dentro do seu usuário, na sua máquina. a. Crie o arquivo ~/.ssh/config em seu usuário. b. Adicione este conteúdo, por exemplo, substituindo "integrator.com.br" pelo nome do seu domínio/site:

Host integrator.com.br
  Port 22
  identityfile ~/.ssh/id_dsa

Ou se preferir:

Host integrator.com.br
  Port 22
  PreferredAuthentications publickey


c. Uma vez configurada a key do SSH, execute assim:

git remote add origin projjava:~/repo/depot


Erros Comuns

1) Caso obtenha o erro "fatal: 'depot' does not appear to be a git repository - fatal: The remote end hung up unexpectedly", resolva com um clone do repositório:

git clone gitolite:~/repo/depot

2) Em caso de um erro no arquivo da key:

#FIx para private key file
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for '/home/javaworld/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/javaworld/.ssh/id_rsa

Resolva com os seguintes comandos online:

sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub

3) Se houver outro erro como este:

Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/clouds11/.ssh/known_hosts).

Ajuste a permissão do arquivo:

sudo chmod 644 ~/.ssh/known_hosts


E, finalmente, permissão para tudo:

sudo chmod 755 ~/.ssh


4) Caso ocorra o erro "fatal: remote origin already exists", depois de ter executado algo como este comando:

git remote add origin ssh://javaworld@integrator.com.br/~/repo/depot

Ou usando o seguinte comando:

git remote add origin projjava:~/repo/depot

Solucione da seguinte forma:

 git remote rm origin


5) Se no comando git push origin master der o seguinte erro:

git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://javaworld@integrator.com.br/~/repo/depot'

Faça o seguinte comando:

git push origin master --force



Nota: O GIT pode trabalhar com o Eclipse IDE, usando o plug-in EGit: http://wiki.eclipse.org/EGit/User_Guide



IMPORTANTE: A Integrator não ensina a operar o GIT. A demonstração passada neste tutorial é apenas um exemplo de seu uso. Não nos responsabilizamos por comandos errados e não ajudamos a corrigir erros que vier a ter com o aprendizado do GIT.