2010-11-30 10 views
12

Tengo un problema al usar git en ftp.Git no puede pasar al servidor ftp

Lo que tengo en este momento:

  • servidor FTP, listos para FTP activo y pasivo;
  • repositorio git desnudo, uno cometen

El repositorio se crea localmente y luego se envía al servidor. Tuve que usar git update-server-info para hacerlo funcionar. Ahora puedo clonar en mi nuevo repositorio y ejecutar extracciones, pero no puedo presionar. Cada vez que intento, git dice:

error: Cannot access URL ftp://f***@w*****/repo/, return code 3 fatal: git-http-push failed

Puede alguien ayudarme por favor?

Saluda Florian

+0

No puedo dejar de notar que http-push en un servidor ftp se ve como una mezcla incómoda de protocolo. – user502515

+0

¿De dónde sacaste tus git binaries? Creo que tiene que compilarse con soporte curl para que ftp funcione. –

+0

@ user502515, es normal. git usa el mismo back-end para (mudo) http y ftp. –

Respuesta

13

Nota: si su objetivo es copiar (desplegar) los archivos que han cambiado en tu repositorio local a un servidor ftp a continuación:

podría ser más adecuado para esta tarea.

Hasta donde yo sé (como confirmed in this thread), todavía no hay soporte para git push to ftp.

+0

hm, no, planeé usar el servidor ftp como repositorio "central". hasta donde yo sé, ftp se agregó a git hace algunos meses (ver http://www.kernel.org/pub/software/scm/git/docs/git-push.html#URLS). Probé msysgit y el paquete estándar de ubuntu 10.04 (1.7.0.4) para mis pruebas – Tornado

+0

al menos, pensé que se había agregado ... – Tornado

+0

@Tornado: Leí esa página de git push man, pero no he encontrado cualquier otra indicación de que ftp es compatible con push (fetch yes, clone yes, pero push?) – VonC

4

@VonC: Parece que tienes razón, hablé con algunos tipos de GIT en el IRC y me dijeron lo mismo. FTP pull funciona, FTP push no funciona. Pero de todos modos, el hilo de confirmación es una posible solución a mi problema, ya que puedo usar webdrive/netdrive (y curlftpfs en Linux) para hacer que git piense que el repositorio remoto es una carpeta local. Esta es la única solución que veo en este momento.

¡Gracias!

+0

interesante: luego puede expandir esta respuesta para incluir algunos detalles de implementación y configuración para lograr esa instalación remota de repo. – VonC

+2

De acuerdo, aquí algunos detalles: solo lo intenté en Windows, en la medida en que linux realmente apesta en mi eee-pc (se pierde gran parte de la vida útil de la batería). Pero de todos modos, en Windows es sencillo: utilicé Netdrive porque hay una licencia de uso gratuito disponible para el hogar. Con netdrive, me conecté a mi servidor ftp (configurélo en una letra de unidad) y luego usé esta unidad ahora "local" como un repositorio remoto (usando git clone x: /repo.git en mi directorio de trabajo). Eso es. Supongo que funciona también montando un directorio ftp con curlftpfs en Linux. – Tornado

Cuestiones relacionadas