¿Existe actualmente alguna forma de alojar un repositorio Git compartido en Windows? Entiendo que puede configurar el servicio Git en Linux con:
git daemon
¿Existe una opción nativa de Windows, además de compartir carpetas, para alojar un servicio Git?
EDITAR: Actualmente estoy usando la instalación cygwin de git para almacenar y trabajar con repositorios de git en Windows, pero me gustaría dar el siguiente paso para alojar un repositorio con un servicio que pueda brindar acceso a otros.
git daemon
. : \Respuestas:
Aquí hay algunos pasos que puede seguir para que el demonio git se ejecute en Windows:
(Requisitos previos: una instalación predeterminada de Cygwin y un cliente git que admita git daemon)
Paso 1 : abre un shell bash
Paso 2 : En el directorio / cygdrive / c / cygwin64 / usr / local / bin /, cree un archivo llamado "gitd" con el siguiente contenido:
Paso 3 : Ejecute el siguiente comando cygrunsrv desde un indicador elevado (es decir, como administrador) para instalar el script como un servicio (Nota: se supone que Cygwin está instalado en C: \ cygwin64):
Paso 4 : Ejecute el siguiente comando para iniciar el servicio:
cygrunsrv --start gitd
Estás listo. Si desea probarlo, aquí hay un script rápido y sucio que muestra que puede enviar el protocolo git a su máquina local:
fuente
GitStack podría ser su mejor opción. Actualmente es gratuito (para hasta 2 usuarios)
y de código abiertoal momento de escribir este artículo.fuente
Aquí hay un servidor git dedicado para Windows: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
fuente
git update-server-info
) después de la inserción HTTP, y esta lógica no está implementada por su biblioteca Git (GitSharp). Dudo que alcance un estado de funcionamiento real en el corto plazo.Si está trabajando en un entorno Windows, ¿ha considerado Mercurial ? Es un sistema de control de versiones distribuido como Git, pero se integra mucho más ordenada y fácilmente con Windows.
fuente
La instalación de CygWin es una exageración, lea este tutorial sobre cómo hacerlo de forma más rápida y nativa:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
fuente
Si obtiene el error
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
después de ejecutar el comando:eso significa que no creó la carpeta 'ruta base'.
Crear la carpeta '/ git' y volver a ejecutar el comando solucionará este problema.
fuente
/git
permisos NTFS no permiten el acceso de lectura / escritura de la cuenta de servicio (SISTEMA).Actualmente estoy usando el demonio ssh de cygwin en Windows para servir y permitir el acceso remoto a mi repositorio. Funciona bastante bien, tengo un control completo sobre quién accede a mi repositorio mediante sus certificados ssh y el rendimiento se dispara, incluso a través de enlaces WAN y VPN remotos.
Otra solución es utilizar Gitosis . Es una herramienta que facilita el alojamiento de repositorios.
fuente
No necesita alojar un servicio, también puede crear un repositorio compartido en una unidad compartida. Simplemente cree un repositorio simple. Puede clonar un repositorio existente en uno compartido usando: "git clone --bare --shared [fuente] [dest]". También puede iniciar un nuevo repositorio usando "git init --bare --shared = all".
Henk
fuente
¿Ha considerado usar la capa cygwin? Vea este enlace .
fuente
¡Ahora msysGit soporta git daemon! Funciona bien (al menos para mí). Voy a intentar que funcione como servicio ...
fuente
Gerente de SCM
fuente
En Windows, también puede servir repositorios de Git con Apache a través de HTTP o HTTPS, utilizando la extensión DAV.
La ruta del repositorio de Git se puede proteger con comprobaciones de autenticación de Apache, como restringir a ciertas direcciones IP o autenticación de tipo htpasswd / htdigest.
La limitación de usar la autenticación htpasswd / htdigest es que el nombre de usuario: contraseña se pasa en la URL de Git solicitada, por lo que es mejor restringir el acceso a la URL de Git a ciertas direcciones IP.
Editar: Tenga en cuenta que puede dejar la contraseña fuera de la URL de Git y Git le pedirá la contraseña al presionar y recuperar / extraer.
Usar HTTPS significa que todos los datos están encriptados en la transferencia.
Es bastante fácil de configurar y funciona.
El siguiente ejemplo muestra la combinación de control de acceso por dirección IP y usuario: contraseña sobre HTTP estándar.
Ejemplo Apache Virtualhost
Ejemplo .git / config
fuente
En el trabajo, estoy usando GitBlit GO instalado en un servidor Windows. Trabaje sin problemas e integre bien con ActiveDirectory para la autenticación y autorización de usuarios. También es gratuito y de código abierto (con licencia Apache)
Página de inicio de GitBlit
Solo se admite el acceso HTTP (S), no SSH, pero en Windows no debería necesitar nada más.
fuente
esta es una respuesta de 2015 a una pregunta que tiene más de 7 años.
Por un pago único de $ 10, desde https://bitbucket.org/product/server , se puede comprar una licencia de Windows de 64 bits para hasta 10 usuarios .
Aparentemente, las versiones de 32 bits solo están disponibles a través de su archivo.
Bitbucket Server se conocía anteriormente como Stash .
Tenga en cuenta que no he probado esta versión, pero $ 10 parece una buena oferta; aquí leí que Atlassian dona los $ 10 a la caridad. FWIW
fuente
Creo que lo que Henk está diciendo es que puedes crear un repositorio compartido en una unidad y luego copiarlo en una ubicación común a la que ambos tengan acceso. Si hay algún servidor de la empresa o algo al que ambos tengan acceso ssh, puede colocar el repositorio en algún lugar donde pueda SCP de nuevo en su propia computadora, y luego extraerlo. Hice esto por mí mismo por un tiempo, ya que tengo dos computadoras. Es una molestia, pero funciona.
fuente
Para Windows 7 x64 y Cygwin 1.7.9 necesitaba usar / usr / bin / gitd como argumento args de cygrunsrv
Además, necesitaba ejecutar bash como administrador para instalar el servicio.
fuente