Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrique de Souza

Git e GitHub (controle de versão)

Recommended Posts

Olá pessoal,

 

Estou criando esse tópico aqui em Programação + PHP pois não sei em que se encaixa essa dúvida. Eu estava lendo uns artigos na internet, quando vi a seguinte frase: "Se você desce os arquivos para seu PC, edita e depois sobe com FTP, você é júnior", ou coisa assim. Eu sou júnior mesmo; ou quase. Eu faço isso que o autor citou ou edito direto no Gerenciador de arquivos do CPanel mesmo (rsrs..).

 

Depois de descobrir isso, fui atrás de mais informação sobre o controle de versão, e descobri várias coisas, criar pastas, dar nome ao autor do projeto, etc. Porém tudo isso localmente. Não sei como faço para as alterações chegarem aos meus sites, no servidor. Que comandos ou funções fazem isso? De quê forma os arquivos vão parar lá no meu site, online?

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode por exemplo, fazer um git pull lá no servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hooks ... você pode usar pra fazer deploy em vários lugares.

No caso do FTP, é por SSH ...

 

Dá uma olhada :seta: https://coderwall.com/p/xczkaq

 

Nunca usei isso ... ultimamente faço via ant-task.

http://ant.apache.org/manual/Tasks/ftp.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso de servidores sem GIT, o jeito é fazer o envio manualmente mesmo.. ou usar scripts que automatizem o envio:


Alguns projetos open source:

https://github.com/git-ftp/git-ftp
https://github.com/tipui/Tipui-GIT-FTP


Independente disso, vc tem que começar a aprender a criar o seu ambiente local..

não é nada legal fazer alterações diretamente no ambiente de produção..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse artigo é bem fácil para iniciantes: http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/

O GitHub poderia ser um local para você simular o envio de arquivos para um servidor.

 

Mas cara, como o hinom falou no post #4, já é hora de começar a ter um servidor, configurar ambiente, ter uma noção boa de unix, etc. e parar de ficar dependente de soluções como cPanel.

 

Se você procurar por deploy na internet, achará muito material interessante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível sim. A solução varia conforme o utilitário SSH que você está utilizando. Normalmente será necessário armazenar as chaves SSH em %USERDIR%/.ssh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe Evandro, mas sou leigo no assunto. Seria possível exemplificar sua resposta? No caso, estou tentando adaptar esta solução para minha máquina com Windows.

Como eu disse, depende do utilitário. Com PuTTY é de um jeito, com Cygwin é de outro, se for usar a versão que vem com o programa do GitHub fica em outro lugar. Varia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal! Com as dicas que vocês me passaram já consegui bastante material!

Agora, para enviar os arquivos para meu site, como devo proceder? Se, por exemplo, no GitHub eu uso, git@github.com:usuario/diretorio.git, como fica para alterar os diretórios do meu site? Fica rockbrazzuca@rockbrazzuca.com/henrique.. assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal! Com as dicas que vocês me passaram já consegui bastante material!

Agora, para enviar os arquivos para meu site, como devo proceder? Se, por exemplo, no GitHub eu uso, git@github.com:usuario/diretorio.git, como fica para alterar os diretórios do meu site? Fica rockbrazzuca@rockbrazzuca.com/henrique.. assim?

Caminhos ssh seguem a estrutura [ssh://][usuario[:senha]]@nome-ou-ip-do-host:[caminho-relativo-à-home]

 

Conteúdo entre aspas é opcional.

 

Supondo que seu servidor possua suporte a ssh, para enviar os arquivos para o servidor, como você faria com ftp, eu conheço 3 alternativas:

 

1. SFTP, não muda nada do FTP. Você pode até mesmo utilizar o mesmo programa ftp que está acostumado, bastando trocar a porta de 21 para 22 e o usuário que passa a ser o do ssh e não o do ftp

$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ sftp usuario@servidor
[processo de autenticação]
ftp> PWD
/home/do/usuario
ftp> ls
arquivo3
ftp> PUT arquivo1
[progresso do upload]
ftp> ls
arquivo1 arquivo3
ftp> quit
2. SCP. Do próprio manual, scp significa secure copy para transferências remotas. A sintaxe é simples:

[inline]scp caminho/local url-ssh[/inline] para enviar ou [inline]scp url-ssh caminho/local[/inline] para obter. Similar ao exemplo acima seria

$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ scp arquivo1 usuario@servidor:
3. RSYNC. Sincronização remota. Apesar do nome também pode ser um ótimo utilitário para cópias locais. Segue a mesma sintaxe do scp, apenas necessitando informar o utilitário ssh que deverá ser executado.
$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ rsync --rsh=ssh arquivo1 usuario@servidor:

De posse destas ferramentas você já estará apto a enviar os arquivos para o seu servidor. Você deve, obviamente, aprender formas automatizadas de fazer isso. Como já citaram acima, o processo se chama deploy e você pode procurar por formas de realizar auto-deploy's. Como está optando por GIT, uma dica boa pode ser utilizar Hooks.

 

Este tipo de assunto está fora do escopo deste tópico (você deve abrir um novo) e sugiro que tenha adquira alguma familiaridade tanto com git quanto com SSH antes de dar o próximo passo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso de servidores sem GIT, o jeito é fazer o envio manualmente mesmo.. ou usar scripts que automatizem o envio:

 

Alguns projetos open source:

https://github.com/git-ftp/git-ftp

https://github.com/tipui/Tipui-GIT-FTP

 

Independente disso, vc tem que começar a aprender a criar o seu ambiente local..

não é nada legal fazer alterações diretamente no ambiente de produção..

 

[#4]hinom, no caso, que servidor já vem com o Git? Dessas hospedagens populares, alguma vem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

há alguns hostings que fornecem, mesmo os compartilhados.

 

geralmente fornecem ssh para que vc configure..

 

o ideal seria em vps ou dedicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.