Git serve: Me gustaría que fuera así de simple


Quiero saber cómo publicar simplemente sobre http = como Mercurial's hg servir! En el cuadro Windows/work haga esto:

git serve 

Y luego en la caja de Linux SIMPLEMENTE ir:

git clone http://project project 

Terminado.

Author: Jonas, 2008-12-18

7 answers

Navegue en su proyecto e inicie git-daemon con los siguientes conmutadores:

cd project
git daemon --reuseaddr --base-path=. --export-all --verbose

Esto le dice a git-daemon que sirva todos los proyectos dentro del directorio actual (que asumo es el directorio del proyecto que contiene el .git / folder). También le dice que reutilice la misma dirección si la apaga y la vuelve a iniciar demasiado rápido.

Puede poner esto en un script por lotes con un nombre fácil de recordar como "gitserve", por lo que no necesita escribirlo todo de nuevo. Como se sugiere en algunos de los comentarios, en versiones recientes de Git puedes añadir un alias a la configuración de Git :

[alias]
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git

Una vez hecho esto en el servidor (su cuadro de Windows), puede hacer:

git serve

Git-daemon utiliza el protocolo git:/ / para el transporte, por lo que en el cliente (su caja de Linux), tendría que hacer:

git clone git://123.456.789.111/ project
 193
Author: seanhodges,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-03 12:20:57

En lugar de escribir su propio script por lotes, use gitjour. Sabe cómo iniciar el demonio git correctamente y emitirá la URL de clonación a través de mDNS para que pueda hacer gitjour show en la caja de Linux y copiar y pegar.

También un buen artículo con una visión general de gitjour y una serie de otras herramientas similares de Dr. Nic, Qué es *jour y por qué son aplicaciones asesinas para RailsCamp08.

 14
Author: Otto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-19 16:10:50

Actualmente utiliza dos alias: serve y hub. Servir para compartir de solo lectura y hub para compartir de lectura/escritura:

[alias]
  serve = !git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose
  hub = !git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose

Además, hay un tutorial más detallado sobre cómo compartir a través del demonio git: http://l.rw.rw/git-daemon .

 12
Author: criskiev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-20 05:55:31

Si solo desea exponer el repositorio con un navegador web

Git-instaweb

$ git instaweb -d apache2 --start
$ lynx localhost:1234
 11
Author: John Mee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-02 19:35:11

Aquí hay una forma alternativa. Necesitarás instalar python.

  • ejecutar git update-server-info
  • ir al directorio .git
  • ejecutar python -mSimpleHTTPServer

(simplemente crea un alias en tu gitconfig)

Ahora puedes tirar del repositorio con git pull http://HOST_NAME:8000/

PD: al usar la solución git daemon, puede configurar --base-path=.git para que la url sea git://HOST/

 8
Author: bara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-29 21:12:03

Git-webui es una extensión de git que proporciona una interfaz de usuario basada en la web y la capacidad de clonar/extraer de otros equipos

Https://github.com/alberthier/git-webui

$ cd my_git_repo
$ git webui

Otras personas pueden

$ git clone http://<ip-of-your-computer>:8000/ repoclone

O

$ git pull http://<ip-of-your-computer>:8000/
 0
Author: alberthier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-23 13:23:09

Agregue las siguientes líneas en .git / config

[instaweb]
               local = true
               httpd = webrick
               port = 4231

Luego ejecuta

git instaweb
 0
Author: Nayagam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-03 13:42:37