¿Por qué no simplemente instalar svn en el uso del anuncio de su computadora portátil linux? Git puede ser el nuevo atractivo, pero realmente parece que estás haciendo tu vida innecesariamente complicada en este caso particular.
bendin
bendin no, no sabía que era complicado, ya que estoy configurando el entorno ahora me alegro de que hablaste ...
Setori
1
Primero: mi cuaderno no está permitido en este VPN, por lo que no puedo acceder al svn directamente. en segundo lugar: quiero comprometerme con mi propio repositorio, el objetivo de usar git es poder hacer commits locales, bifurcar y fusionar sin problemas. Creo que usar svn ahora es bastante calambre.
Setori
Si tiene instalado Python, un simple git instaweb -d pythonpodría ser suficiente (con Git 2.21, febrero de 2019): vea mi respuesta a continuación
VonC
Respuestas:
197
Navegue a su proyecto e inicie git-daemon con los siguientes modificadores:
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 supongo que es el directorio del proyecto que contiene la carpeta .git /). 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 de nuevo. Como se sugiere en algunos de los comentarios, en las versiones recientes de Git puede agregar un alias a la configuración de Git :
Creo que es importante tener en cuenta que, aunque git daemonpermite el acceso remoto de otros clientes de git, carece de la interfaz web que hg serveproporciona.
Rob Kennedy
44
hacer servir un alias en su .gitrc como:serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
En lugar de escribir su propio script por lotes, use gitjour . Sabe cómo iniciar git daemon correctamente y transmitirá la URL de clonación a través de mDNS para que pueda hacerlo gitjour showen el cuadro de Linux y copiar y pegar.
dicelighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
Rakib
44
@syedrakib Deberá tener instalado lighttpd, o apache2, o algo más. Personalmente lo uso git instaweb -d webricken OS X, porque webrick viene con Ruby, que está preinstalado en OS X.
Martijn Heemels
66
Esta herramienta no parece ser compatible con Windows. Como el cartel pedía una herramienta de Windows, ese es un factor importante para esta respuesta.
Robert MacLean
9
Aquí hay una forma alternativa. Necesitarás python instalado.
correr git update-server-info
Ve a la .git directorio
correr python -mSimpleHTTPServer
(solo crea un alias en tu gitconfig)
Ahora puedes sacar el repositorio con git pull http://HOST_NAME:8000/
PD: cuando usas la solución git daemon puedes configurar --base-path=.gitpara que la url seagit://HOST/
Solo lo intenté a ciegas. Soy capaz de clonar git pero no puedo acceder a la webgui. Parece que el navegador está esperando una respuesta de su servidor.
sree
0
Agregue las siguientes líneas en .git / config
[instaweb]
local = true
httpd = webrick
port = 4231
git-instaweb: agregar Python incorporado http.server soporte integrado de
Con este parche es posible iniciar git-instawebusando el http.servercontrolador Python CGI a través de la -d pythonopción.
git-instawebgenera un pequeño contenedor alrededor de http.server(in GIT_DIR/gitweb/) que aborda una limitación del controlador CGI donde los scripts CGI tienen que estar en un cgi-binsubdirectorio y el índice del directorio no se puede cambiar fácilmente. Para mantener la implementación pequeña, gitwebse ejecuta en url/cgi-bin/gitweb.cgi y se realiza una redirección automática al abrir/ .
El contenedor generado es compatible con Python 2 y 3.
Python se instala por defecto en la mayoría de las distribuciones modernas de Linux, lo que permite ejecutarlo git instaweb -d pythonsin necesidad de nada más.
git instaweb -d python
podría ser suficiente (con Git 2.21, febrero de 2019): vea mi respuesta a continuaciónRespuestas:
Navegue a su proyecto e inicie git-daemon con los siguientes modificadores:
Esto le dice a git-daemon que sirva todos los proyectos dentro del directorio actual (que supongo que es el directorio del proyecto que contiene la carpeta .git /). 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 de nuevo. Como se sugiere en algunos de los comentarios, en las versiones recientes de Git puede agregar un alias a la configuración de Git :
Una vez hecho esto en el servidor (su cuadro de Windows), puede hacer:
git-daemon usa el protocolo git: // para el transporte, por lo que en el cliente (su caja de Linux), deberá hacer lo siguiente:
fuente
git daemon
permite el acceso remoto de otros clientes de git, carece de la interfaz web quehg serve
proporciona.serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
En lugar de escribir su propio script por lotes, use gitjour . Sabe cómo iniciar git daemon correctamente y transmitirá la URL de clonación a través de mDNS para que pueda hacerlo
gitjour show
en el cuadro de Linux y copiar y pegar.También un buen artículo con una descripción general de gitjour y una serie de otras herramientas similares del Dr. Nic, What is * jour y por qué son aplicaciones asesinas para RailsCamp08 .
fuente
Actualmente utiliza dos alias: serve y hub. Servir para compartir solo lectura y concentrador para compartir lectura / escritura:
Además, hay un tutorial más detallado sobre cómo compartir a través de git daemon: http://l.rw.rw/git-daemon .
fuente
Si solo desea exponer el repositorio con un navegador web
git-instaweb
fuente
lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
git instaweb -d webrick
en OS X, porque webrick viene con Ruby, que está preinstalado en OS X.Aquí hay una forma alternativa. Necesitarás python instalado.
git update-server-info
.git
directoriopython -mSimpleHTTPServer
(solo crea un alias en tu gitconfig)
Ahora puedes sacar el repositorio con
git pull http://HOST_NAME:8000/
PD: cuando usas la solución git daemon puedes configurar
--base-path=.git
para que la url seagit://HOST/
fuente
git-webui es una extensión git que proporciona una interfaz de usuario basada en web y la capacidad de clonar / extraer desde otras computadoras
https://github.com/alberthier/git-webui
Otras personas pueden
o
fuente
Agregue las siguientes líneas en .git / config
luego ejecutar
fuente
Git 2.21 (febrero de 2019) le permite combinar python y
git instaweb
:Ver commit 2eb14bb (28 de enero de 2019) por Arti Zirk (
artizirk
) .(Fusionada por Junio C Hamano -
gitster
- en commit abf39e3 , 05 feb 2019)fuente