Mudanças entre as edições de "O GIT"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 19: Linha 19:
  
  
'''Outros Erros Comuns'''
+
'''Outros Erros Comuns''' <br />
 
a) 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:
 
a) 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:
 
<pre>git clone gitolite:~/repo/depot</pre>
 
<pre>git clone gitolite:~/repo/depot</pre>

Edição das 20h18min de 20 de fevereiro de 2016

O GIT opera somente via 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.

Comandos para adicionar o GIT

1) No servidor:

 mkdir ~/repo/depot
git --bare init


2) Localmente:

#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


Outros Erros Comuns
a) 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

b) 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

c) 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


É possível usar o "git push" toda vez que quiser atualizar o servidor. 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. 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.br:repo/depot.git


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:

host projjava
     user javaworld
     hostname integrator.com.br
     identityfile ~/.ssh/id_dsa


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

git remote add origin projjava:~/repo/depot

Erros comuns 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

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.