O GIT
Í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.