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.
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
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.
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 .
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 -d apache2 --start
$ lynx localhost:1234
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/
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/
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
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