2012-04-26 8 views
28

Así que comencé a usar Git junto con this workflow para hacer un sitio web personal (principalmente para probar y aprender Git) y lo estoy desarrollando localmente en mi computadora portátil usando Xampp.Usando Git con plan de hosting compartido

Pero ahora me gustaría hacer que este sitio web sea público y subirlo a mi servidor web. El problema es que utilizo un plan de alojamiento compartido, lo que significa que solo tengo acceso FTP a mi directorio de sitio web. No puedo usar SSH o instalar Git o cualquier cosa.

Me gustaría implementar el sitio web y las actualizaciones de ese servidor web, pero me preguntaba si eso era posible con Git solo con acceso FTP. Y si no, ¿cuál sería una forma recomendable de actualizar mi sitio web? Arrastre manualmente una caída de archivos a través de Filezilla puede ser un poco tedioso.

+2

http://stackoverflow.com/questions/2950107/git-push-into-production-ftp – Kevin

+1

Si su host no permite SSH o SFTP, busque un host diferente. (No anónimo) El FTP es inseguro y básicamente obsoleto. – Wyzard

+0

No estoy seguro acerca de SFTP, veré si lo admiten. Al menos SSH no es compatible. El anfitrión no es tan especial, también es barato. solo € 35, - por año, pero es suficiente por lo que hago con él. – Gladen

Respuesta

32

Si no tiene acceso SSH al servidor remoto y el proveedor de hosting no ofrece una función de implementación de git, no podrá implementar directamente usando git.

Sin embargo, siempre es una buena idea hacer un seguimiento de su código fuente independientemente de las opciones remotas.

En su caso, una buena alternativa para automatizar el proceso de lanzamiento sería crear un script de implementación simple en su lenguaje de programación favorito (Ruby, Python, Bash ...) que carga la lista de archivos modificados de su repositorio de git y realiza una carga por FTP de estos archivos.

Una simple búsqueda de git-ftp revela que ya hay dos proyectos que parece hacer lo que sugerí:

+0

¡Gracias por la respuesta rápida! Es una lástima que no pueda usar Git directamente. Tomaré un botín en los guiones que mencionaste, que parece ser exactamente lo que estaba buscando. – Gladen

+0

upvoted para git-ftp sugiere – GusDeCooL

+0

"Si no tiene acceso SSH al servidor remoto y el proveedor de hosting no ofrece una función de implementación de git, no podrá implementar directamente usando git." Tanto tiempo para mi pensamiento mágico ... –

1

Si usted está en un plan de alojamiento compartido, No es una buena idea alojar su propio servidor git ya que tendrá limitaciones de espacio y ancho de banda. Puede buscar otras opciones como github o si desea tener un alojamiento privado, hay bitbucket

0

También he escuchado/leído (pero aún no lo he intentado) que la disponibilidad de git en hosts compartidos requiere muchos recursos y por lo que los administradores se apartan de lo que permite ...

Pero en caso de que desee probar ...

http://joemaller.com/908/how-to-install-git-on-a-shared-host/#hosting

+1

En la mayoría de los servidores compartidos, las personas no tienen acceso a gcc y, por lo tanto, el enlace que ha proporcionado no será útil en ese caso. –

0

Tal vez pensar en un alojamiento diferente establecido?

  1. En un VPS tiene más libertad, pero tiene que configurar todo usted mismo.
  2. En una nube PaaS obtendrás una gran tecnología pero pagarás un poco más.
  3. Como se mencionó anteriormente: un hoster de repositorio privado con opción de despliegue ftp también podría funcionar.

Para mí, la mejor productividad es la más importante. Compare los costos de alojamiento web con los costos de desarrollo web.

0

Si git está instalado en el servidor (por ejemplo, <?php $last_line = system('git --version', $retval); ?>), pero no tiene acceso SSH, quizás intente php-git-bundle.

0

Esta pregunta puede ser viejo, pero hay un alojamiento web compartido que ofrece opción de implementación git y el acceso SSH a git pull/etc empujar: githoster.com

O hay algunas secuencias de comandos se puede buscar en google que unirá su github cuenta a su anfitrión con git hooks.