Mudanças entre as edições de "O GIT"
Linha 1: | Linha 1: | ||
− | O '''GIT''' | + | 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 /> |
− | + | ||
+ | === 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> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
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.