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

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 1: Linha 1:
O '''GIT''' trabalha via '''SSH''', já ativo, por padrão, nos servidores da Integrator. O que apresentaremos a seguir é um exemplo de como usá-lo.<br />
+
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.<br />
Para criar um  repositório GIT, de dentro da sua conta, no servidor, em seu domínio, através do SSH, faça os seguintes passos:<br />
+
 
 +
=== 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, [[Gerando chaves de acesso SSH no cPanel|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:
 +
<pre>host projjava
 +
    user javaworld
 +
    hostname integrator.com.br
 +
    identityfile ~/.ssh/id_dsa</pre>
 +
 
 +
 
 +
 
 +
c. Uma vez configurada a key do SSH, execute assim:
 +
<pre>git remote add origin projjava:~/repo/depot</pre>
 +
 
 +
'''Erros comuns'''
 +
Caso ocorra o erro "fatal: remote origin already exists", depois de ter executado algo como este comando:
 +
 
 +
<pre>git remote add origin ssh://javaworld@integrator.com.br/~/repo/depot</pre>
 +
 
 +
Ou usando o seguinte comando:
 +
 
 +
<pre>git remote add origin projjava:~/repo/depot</pre>
 +
 
 +
Solucione da seguinte forma:
 +
<pre> git remote rm origin</pre>
 +
 
 +
 
 +
=== Comandos para adicionar o GIT  ===
 +
1) No servidor:
 +
<pre> mkdir ~/repo/depot
 +
git --bare init</pre>
 +
 
 +
 
 +
2) Localmente:
 +
<pre>
 +
#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
 +
</pre>
 +
 
 +
 
 +
 
 +
'''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:
 +
<pre>git clone gitolite:~/repo/depot</pre>
 +
 
 +
b)  Em caso de um erro no arquivo da key:
 +
<pre>
 +
#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
 +
</pre>
 +
 
 +
Resolva com os seguintes comandos online:
 +
<pre>
 +
sudo chmod 600 ~/.ssh/id_rsa
 +
sudo chmod 600 ~/.ssh/id_rsa.pub
 +
</pre>
 +
 
 +
c) Se houver outro erro como este:
 +
<pre>
 +
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).</pre>
 +
 
 +
Ajuste a permissão do arquivo:
 +
<pre>sudo chmod 644 ~/.ssh/known_hosts</pre>
 +
 
 +
 
 +
E, finalmente, permissão para tudo:
 +
 
 +
<pre>sudo chmod 755 ~/.ssh</pre>
 +
 
 +
 
 +
É 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:
 +
 
 +
<pre>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</pre>
 +
 
 +
 
 +
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".
 +
 
 +
<pre>git clone ssh://seu_login@integrator.com.br:repo/depot.git</pre>
  
'''1)''' Crie o diretório do repositório, por exemplo:<br />
 
'''a. mkdir -p repo/nome_projeto.git'''<br />
 
'''b. cd repo/nome_projeto.git'''<br />
 
'''c. git --bare init'''
 
  
2) Saia do SSH que está logado no servidor.<br />
 
3) Em sua máquina local, no seu computador, crie um repositório GIT, escolhendo o projeto que deseja trabalhar com esta ferramenta .
 
  
 
----
 
----
Linha 16: Linha 102:
  
 
----
 
----
'''IMPORTANTE''': A Integrator não ensina a operar o GIT. A demonstração passada neste tutorial é apenas um exemplo de seu uso.  
+
'''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.
 
----
 
----
  
 
[[Categoria:TUTORIAIS]]
 
[[Categoria:TUTORIAIS]]

Edição das 21h44min de 29 de janeiro 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.

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


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



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.