usar tag remote pushed hacer drop delete create como git ftp push

tag - Git Push en Producción(FTP)



git-- tags (13)

Me gustaría saber si hay una manera fácil de llevar un repositorio GIT a la producción (en un servidor FTP)? Gracias


Añádalo como un control remoto, luego puede presionarlo, sin embargo, simplemente presionar el código no es suficiente, necesita fusionarse con el árbol de trabajo. La forma más fácil es ir al revés, tener un árbol de trabajo en el servidor y buscar y fusionar en eso.


Algunas herramientas añadidas recientemente a la wiki de Git :

git-ftp de René Moser es un simple script de shell para hacer FTP de la manera Git. Utilice git-ftp.sh para cargar solo los archivos Git rastreados a un servidor FTP, que han cambiado desde la última carga. Esto ahorra tiempo y ancho de banda. Incluso si juegas con diferentes ramas, git-ftp.sh sabe qué archivos son diferentes. Ningún cliente FTP ordinario puede hacer eso.

git-ftp por Edward Z. Yang es un script simple escrito en python para cargar archivos en un repositorio de Git a través de FTP, solo transfiriendo archivos nuevos y eliminando archivos viejos.


Aquí hay un script de Ruby: Ruby git-deploy a través de FTP o SSH que carga solo los archivos modificados en el repositorio git a través de FTP o SSH.

Como se menciona en otra respuesta, aquí está el script Python git-ftp.py que hace algo similar.

Y aquí está la versión del script de shell de git-ftp .

También hay un proyecto Ruby gem llamado git-deploy que le permite configurar una implementación personalizada a través de un control remoto git usando el comando git push , de la misma manera que los servicios de Heroku y Azure. Para esto, puede que necesite escribir métodos personalizados para implementar a través de FTP y creo que asume que tiene acceso SSH a su servidor de producción.


Descubrí que PHPloy es una gran herramienta para enviar sus confirmaciones de Git a servidores remotos a través de FTP. Funciona desde la línea de comandos y está escrito en PHP (e incluso detecta cambios en los submódulos).

https://github.com/banago/PHPloy

git commit ... phploy -s staging phploy -s production

¡Hecho!

(Descargo de responsabilidad: después de usarlo por un tiempo, he contribuido con algunos parches de código y mejoras, por lo que es compatible con Windows).


Eso no es para lo que git es, estrictamente hablando. Sin embargo, si su fuente es algo que no necesita compilación o procesamiento, por ejemplo, un sitio web que consiste completamente de archivos html y javascript y similares, podría tener un clon del repositorio en su servidor web y usar git pull del servidor para mantener actualizado. Tenga en cuenta que configuro su servidor web para ocultar el directorio de git y tal. Y eso es solo el comienzo de las preocupaciones de seguridad.

Si tiene algún tipo de compilación o procesamiento, debería comenzar a buscar en Ant , Maven , BuildR , SBT , etc.


Estaba luchando mucho para descubrir esto. He descubierto una manera fácil de hacer esto desde varias fuentes ( git-ftpINSTALL , git-ftp , git-ftpIssue , git-ftpPUSH ). Puede leer para referencia, pero no es necesario porque he mencionado el proceso paso a paso a continuación.

Lo primero es lo primero: instalar git y curl con brew en MAC OS

brew install git brew install curl --with-ssl --with-libssh2 brew install git-ftp

Ejecute los siguientes comandos:

git clone https://github.com/git-ftp/git-ftp.git cd git-ftp git tag # see available tags git checkout <tag> # checkout the latest tag by replacing <tag> sudo make install

Actualizando usando git

git pull git tag # see available tags git checkout <tag> # checkout the latest tag by replacing <tag> sudo make install

Preparar

git config git-ftp.url YourFtpServerName.Net git config git-ftp.user FtpUserName git config git-ftp.password YourPassword

Cargar todos los archivos

git ftp init

O si los archivos ya están allí

git ftp catchup

Trabajar y desplegar

echo "Hello " >> index.txt git commit application/libraries/index.txt -m "I love " git ftp push

Si hay un error: pathspec ''index.txt'' no coincide con ningún archivo conocido de git . Significa que el archivo aún no se ha configurado, por lo tanto, agregue el archivo y luego intente confirmar.

git add application/libraries/index.txt git commit application/libraries/index.txt -m "I love "

Espero que esto ayude.



Puedes probar FTPloy ...

https://ftploy.com

"Empuje los cambios a GitHub o Bitbucket".

"Implementar cambios automáticamente en su servidor"

Tienes un proyecto gratis para probarlo. Actualmente estoy usando un sitio web pequeño de php y funciona bastante bien. Algunos errores en el sitio pero es un proyecto activo por lo que al menos están trabajando en ello.


Si está poniendo código en producción, le recomiendo usar un "instalador" como un paquete RPM para instalar su código. De esta forma, tendrá la versión sellada y podrá aprovechar el paquete de instalación para admitir actualizaciones del código de producción. Git no está diseñado para admitir instalaciones de producción, sino para realizar un seguimiento de los cambios en el código.

En cualquier caso, con un .RPM (o EXE o lo que sea) creado, puede simplemente FTP al sistema de producción e instalarlo como cualquier otro paquete.


Si prefiere GUI, use SourceTree, puede configurar fácilmente una Acción personalizada que use git-ftp mencionado anteriormente. Una breve descripción sobre la configuración (para Mac) en el repositorio Push a Git a un FTP


Si tienes un mac y tienes Transmit, te recomendaría el siguiente script de git-tranmit ( https://gist.github.com/379750 ). Utiliza DockSend para enviar solo los últimos archivos actualizados. Si no está familiarizado con DockSend, consulte http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .

Preparar:

  1. cp git-transit / usr / sbin /.
  2. cd / usr / sbin
  3. chmod + x git-transmit
  4. Configurar drop drop para su aplicación en vivo
  5. Ejecute git-transmit en su repositorio git.