Mudanças entre as edições de "O GIT"
(9 edições intermediárias de um usuário não apresentadas) | |||
Linha 1: | Linha 1: | ||
− | + | [[File:Banner-wiki-promocoes.gif|center| 700px||border|link=https://www.integrator.com.br/plano-hospedagem-promocionais|Planos promocionais|]] | |
− | === Comandos para adicionar o GIT | + | |
− | + | ||
+ | == 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 == | |
− | + | 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> | ||
− | + | == 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: | |
<pre>git clone gitolite:~/repo/depot</pre> | <pre>git clone gitolite:~/repo/depot</pre> | ||
− | + | 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> | ||
− | + | 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: | ||
− | + | 4) Caso ocorra o erro "fatal: remote origin already exists", depois de ter executado algo como este comando: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | 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
Índice[ocultar] |
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.