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

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
 
(10 edições intermediárias de um usuário não apresentadas)
Linha 1: Linha 1:
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 />
+
[[File:Banner-wiki-promocoes.gif|center| 700px||border|link=https://www.integrator.com.br/plano-hospedagem-promocionais|Planos promocionais|]]
  
=== Comandos para adicionar o GIT  ===
+
 
1) No servidor:
+
 
 +
== Antes de começar ==
 +
O '''GIT''' opera somente via [[Acesso SSH|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.<br />
 +
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 [[Acesso SSH|Terminal SSH]]:
 
<pre> mkdir ~/repo/depot
 
<pre> mkdir ~/repo/depot
 
git --bare init</pre>
 
git --bare init</pre>
  
 
+
== Comandos para adicionar o GIT em sua máquina local ==
2) Localmente:
+
Execute estes comandos Localmente no seu terminal SSH:
 
<pre>
 
<pre>
 
#Dentro do projeto:
 
#Dentro do projeto:
Linha 17: Linha 23:
 
</pre>
 
</pre>
  
 +
----
 +
'''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:
 +
 +
<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.
 +
 +
== 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".
 +
 +
<pre>git clone ssh://seu_login@integrator.com.b/~/repo/depot</pre>
 +
 +
 +
== 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, substituindo "integrator.com.br" pelo nome do seu domínio/site:
 +
<pre>
 +
Host integrator.com.br
 +
  Port 22
 +
  identityfile ~/.ssh/id_dsa
 +
</pre>
 +
 +
Ou se preferir:
 +
<pre>
 +
Host integrator.com.br
 +
  Port 22
 +
  PreferredAuthentications publickey
 +
</pre>
 +
 +
 +
c. Uma vez configurada a key do SSH, execute assim:
 +
<pre>git remote add origin projjava:~/repo/depot</pre>
  
  
'''Outros Erros Comuns'''
+
== 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:
+
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:
 
<pre>git clone gitolite:~/repo/depot</pre>
 
<pre>git clone gitolite:~/repo/depot</pre>
  
b)  Em caso de um erro no arquivo da key:
+
2)  Em caso de um erro no arquivo da key:
 
<pre>
 
<pre>
 
#FIx para private key file
 
#FIx para private key file
Linha 41: Linha 88:
 
</pre>
 
</pre>
  
c) Se houver outro erro como este:
+
3) Se houver outro erro como este:
 
<pre>
 
<pre>
 
Are you sure you want to continue connecting (yes/no)? yes
 
Are you sure you want to continue connecting (yes/no)? yes
Linha 55: Linha 102:
  
  
É 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:
+
4) Caso ocorra o erro "fatal: remote origin already exists", depois de ter executado algo como este comando:
 
+
<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>
+
 
+
 
+
=== 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>
 
<pre>git remote add origin ssh://javaworld@integrator.com.br/~/repo/depot</pre>
Linha 93: Linha 112:
 
Solucione da seguinte forma:
 
Solucione da seguinte forma:
 
<pre> git remote rm origin</pre>
 
<pre> git remote rm origin</pre>
 +
 +
 +
5) Se no comando '''git push origin master''' der o seguinte erro:
 +
 +
<pre>
 +
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'
 +
</pre>
 +
 +
Faça o seguinte comando:
 +
git push origin master --force
 +
  
 
----
 
----
Linha 104: Linha 136:
  
 
[[Categoria:TUTORIAIS]]
 
[[Categoria:TUTORIAIS]]
 +
[[Categoria:GIT]]
 +
[[Categoria:SSH]]

Edição atual tal como às 16h26min de 10 de agosto de 2021

Banner-wiki-promocoes.gif


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