2011-02-28 30 views
13

Tengo el servidor ftp y no puedo instalar software adicional en él. ¿Es posible crear en él el repositorio git y clonar a la PC local? Traté de crear un repositorio local y lo copié a ftp. ¿Funcionará? ¿Cómo puedo clonar desde el servidor ftp?Repositorio de Git en el servidor ftp

Respuesta

5

Funcionará si Git se está ejecutando en el servidor.

Pero por lo que está describiendo, supongo que no lo es.

6

Hay varias otras preguntas sobre stackoverflow que tratan sobre este tema, por ejemplo .:

... que podría tener una solución que es adecuada para su caso.

Usted no dice qué sistema operativo se está utilizando, pero si se basa en Linux lo que iba a tratar es montar el servidor FTP como parte de su sistema de archivos local con FUSE + fuseftp. Si está utilizando Mac OS, puede intentar de manera similar MacFuse. (n. ej., nunca he probado fuseftp, por lo que no estoy en posición de recomendarlo o desaconsejarlo). Sin duda también hay equivalentes para Windows.

Entonces debería solo poder ejecutar en el directorio montado y empujar y tirar de él como si fuera un repositorio local. También debe habilitar el gancho de ejemplo post-update para ejecutar git update-server-info después de cada inserción; de lo contrario, las personas tendrán problemas al interactuar con el servidor con una URL de repositorio ftp://.

2

Sí, debería funcionar. Consulte this other answer, también para saber cómo hacerlo.

Es básicamente el mismo que acceder a través de HTTP, simplemente usando el especificador ftp:// protocolo en la URL:

git clone ftp://username:[email protected]/repos/project.git

NOTAS:

  1. solamente usted pidió clonación, pero si también necesita escribir algo en el control remoto repo (es decir push, también), entonces no tiene suerte con una configuración simple de FTP y sin permiso para ejecutar software adicional en el servidor.

  2. El acceso FTP no carece de sus advertencias, como se insinuó en la otra respuesta SO (vinculada anteriormente), o this post here (sobre archivos inaccesibles, dependiendo del servidor FTP/config).

  3. El git-clone man page dice que el transporte de FTP se ha "depreciado" y debe evitarse por varias razones. Esa nota es solo un error, ya que

    a) Castigar a esos tipos pobres que ya son miserables y que solo tienen FTP como la única opción para compartir un repositorio, parece una idea poco amistosa.(El resto, que tiene otras opciones, preferirá usarlos de todos modos.)

    b) Parece inconsistente con el gitremote-helpers man page, que también menciona explícitamente el transporte de ftp, sin nada en contra.

    c) Cada transporte tiene sus límites/méritos, FTP no es una excepción. (A través del comando capabilities de los ayudantes de transporte, también las herramientas pueden negociar sin ningún problema, para qué usar uno y qué no)

    Esperemos que la clonación git continúe funcionando a través de FTP (y tal vez ese comentario aterrador en realidad significa que git no lo admite natively, siempre que FTP siga siendo una alternativa práctica.

1

Puede implementar en el servidor ftp utilizando la herramienta git-ftp project. Es fácil de usar y se puede instalar en su servidor local para implementar de forma remota. Aquí está la configuración básica que funcionó bien para mí:

- git config git-ftp.user YOUR_FTP_USERNAME # ftpuser 
    - git config git-ftp.password YOUR_FTP_PASSWORD # ftppass 
    - git config git-ftp.url YOUR_FTP_SERVER # ftp.domain.com, might be a path to subdirectory ftp.domain.com/public_html 
    - git config git-ftp.syncroot public_html/ # optional if you only want to push a part of your repository 
    - git ftp init 
    - git ftp push