Configurar un servidor Git con msysgit en Windows [cerrado]

163

Mis amigos y yo estamos tratando de configurar Git para Windows usando el tutorial Git Server: Gitosis y Cygwin en Windows , pero seguimos teniendo problemas.

¿Cómo sería una guía de "Configuración del servidor Git" para Windows usando msysgit ?

¿Hay un comentario en el tutorial anterior que sugiere que no se puede hacer con msysgit porque la gitosis requiere el uso de un servidor SSH y Bash? ¿Qué es una guía paso a paso (ya que no hay una disponible)?

  1. Instalar mysisgit

  2. ?

Kara
fuente
* Git para desarrolladores de Windows . 3 partes, este es un enlace a la primera. Bueno uno! * Una guía ilustrada de Git en Windows * Extensiones de Git (videos)
Rook
Utilicé la herramienta en windowsgit.com como sugirió Computer Linguist después de intentar (y fallar) con los métodos anteriores. Fue ridículamente fácil y simplemente funcionó. Bien vale la pena los $ 9, en mi opinión.
Edward Anderson
Puedes probar Git Candy, una plataforma Git basada en ASP.NET MVC. Fuente en: github.com/Aimeast/GitCandy , Demo en: git.53wb.com
Aimeast

Respuestas:

79

Encontré esta publicación y acabo de publicar algo en mi blog que podría ayudar.

Consulte Configuración de un servidor Msysgit con copSSH en Windows . Es largo, pero he logrado que esto funcione en Windows 7 Ultimate x64.

Tim
fuente
55
Para el registro, por lo que puedo decir, en el punto 5.5 de las instrucciones de Tim, debe insertar el comando adicional ANTES del #, no después (de lo contrario, queda comentado).
Benjol
1
Puede echar un vistazo a windowsgit.com .
Lilith River,
66
Tenga en cuenta que Copssh no se proporciona en sourceforge y ya no es gratis a partir de abril de 2012
TiansHUo
2
@Tim, ¿puedes volver a publicar el contenido de tu publicación de blog aquí? Si su blog se desconecta, esta respuesta se vuelve inútil.
Estrella de mar
1
@Starfish - ¡Para eso es web.archive.org! Aquí está el artículo de Tim allí: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix
27

Servidor Bonobo Git para Windows

Desde la página web del Servidor Bonobo Git :

Bonobo Git Server para Windows es una aplicación web que puede instalar en su IIS y administrar y conectarse fácilmente a sus repositorios git.

Bonobo Git Server es un proyecto de código abierto y puede encontrar la fuente en github .

caracteristicas:

  • Acceso seguro y anónimo a sus repositorios git
  • Interfaz web fácil de usar para la gestión
  • Gestión de acceso al repositorio basada en usuarios y equipos
  • Explorador de archivos de repositorio
  • Confirmar navegador
  • Localización

Brad Kingsley tiene un buen tutorial para instalar y configurar Bonobo Git Server.

GitStack

Git Stack es otra opción. Aquí hay una descripción de su sitio web:

GitStack es un software que le permite configurar su propio servidor Git privado para Windows. Esto significa que crea un sistema de versiones de vanguardia sin ningún conocimiento previo de Git. GitStack también hace que sea muy fácil asegurar y mantener su servidor actualizado. GitStack está construido en la parte superior del Git genuino para Windows y es compatible con cualquier otro cliente de Git. GitStack es completamente gratuito para equipos pequeños 1 .

1 la edición básica es gratuita para hasta 2 usuarios

Daniel
fuente
1
GitStack solo es gratuito para hasta 5 usuarios. Una vez que haya superado ese límite, tendrá un precio por año basado en la cantidad de usuarios. Consulte la página de precios en el sitio web de GitStack.
Simon Tewsi
2
Tenga en cuenta que el desarrollador original de Bonobo Git Server, Jakub Chodounský, dice en una publicación del foro el 1 de enero de 2012 que ya no puede apoyar el proyecto.
Simon Tewsi
2
GitStack ahora solo es gratuito para hasta 2 usuarios.
M4N
2
Bonobo está activo un proyecto nuevamente.
Tomas Kubes
2
Solo recuerde activar IIS> Servicios WWW> Características de desarrollo de aplicaciones> ASP.NET 4.5. Bonobo trabajó para mí donde GitStack (que ni siquiera podía usar el msysgit convencional) no funcionaba, ¡y Bonobo es de código abierto y tiene licencia MIT! Esto ofrece una solución satisfactoria para Windows, por mucho que prefiera usar una máquina Unix para este propósito.
Will
26

Con respecto a la referencia a la página de Tim Davis: Configuración de un servidor Msysgit con copSSH en Windows , utilicé esto para obtener un servidor Git que se ejecuta en Windows 7 Home Premium 64.

A continuación se muestra una actualización / autopsia de lo que aprendí además de sus instrucciones.

Como dijo Tim Davis, este fue un proceso arduo y frustrante, al menos para mí: no soy demasiado bueno con la integración de este tipo, pero aprendí mucho en el proceso. Espero que mi dolor beneficie a alguien más en el futuro, porque este fue un proceso arduo.

  1. Hay un paso para copiar todos los ejecutables de Git en su directorio bin CopSsh. En lugar de copiar archivos y descubrir qué archivos son necesarios, agregue la ruta git bin a su ruta git. Lo hice modificando mi perfil .bashrc y CopSsh.

    Esto es lo que agregué a .bashrc (en su directorio de inicio de CopSsh y Windows):

    gitpath = '/ cygdrive / c / Archivos de programa (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Archivos de programa (x86) / Git / libexec / git-core'

    RUTA = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Esto es lo que agregué al perfil bash (en CopSsh, etc / profile):

    gitpath = '/ c / Archivos de programa (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Archivos de programa (x86) / Git / libexec / git-core'

    export PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Aquí hay alguna duplicación, funciona para mí, por lo que alguien dice cuál es el lugar correcto para modificar la ruta.

  2. Es posible que las versiones más recientes de msysgit no le den la pantalla para elegir el ejecutable ssh donde elija entre Git ssh y PuTTY ssh. Tendrá que configurar GIT_SSH manualmente si usa PuTTY.

  3. No seguí una parte de las instrucciones y eso fue instalar Tortoise: utilicé la línea de comando, ya que así es como prefiero aprender un vcs como lo hice con rcs y Subversion y descubrí que eso funcionaba para mí. Tuve problemas con el comando clonar usando ssh. Así es como lo hice:

    Git clone usando ssh - no se puede encontrar el repositorio

    Aquí es donde me golpeé la cabeza más.

  4. El directorio de instalación de CopSsh era / Archivos de programa (x86) / ICW. Me salí con la suya, pero si lo volviera a hacer, usaría un nombre de directorio sin espacios.

  5. Estas otras fuentes me ayudaron a resolver las cosas:

    Otra forma de configurar un servidor Git en Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    El lado del cliente de las cosas:

    http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

    Una explicación de Git como servidor (no relacionado con Windows, pero con una mirada más profunda que los pasos de instalación):

    http://progit.org/book/ch4-0.html

    Además, el Control de versiones de O'Reilly con Git : el capítulo Repositorios remotos.

En retrospectiva, si hubiera sabido cuánto tiempo llevaría esto, podría haber comenzado con Mercurial, ya que leí que la instalación en Windows es más fácil, pero tendré una opinión al respecto después de trabajar con Git por un tiempo y luego probar Mercurial .

Steve
fuente
Tengo problemas con el paso CopSSH. El enlace a CopSSH ya no existe ... Me dirijo a sourceforge.net/projects/sereds/files donde solo puedo descargar cwRsync_4.0.4_Installer.zip en lugar del instalador de CopSSH. ¿Alguna sugerencia?
user5243421
Este es el enlace que utilicé: itefix.no/i2/node/27
Steve
1
A partir de noviembre de 2011, Copssh es una solución comercial. La versión 3.0.3 está disponible gratuitamente.
mateuscb
20

No estoy seguro de por qué nadie ha sugerido http://gitblit.com . Solución pura basada en Java, permite el protocolo HTTP y realmente fácil de configurar.

Pritesh Patel
fuente
Gracias por el voto negativo. ¿Puede darme una razón por la cual rechazar este comentario? Por favor se tarifa.
Pritesh Patel
Fantástico proyecto, me alegró el día, gracias.
Anderson Fortaleza
16

Después de seguir la guía de Tim Davis y el seguimiento de Steve, esto es lo que hice:

PC servidor

  1. Instale CopSSH, msysgit.
  2. Al crear el usuario CopSSH, desmarque Autenticación de contraseña y marque Autenticación de clave pública para que sus claves públicas / privadas funcionen.
  3. Cree claves públicas / privadas con PuTTygen. ponga ambas claves en el directorio CopSSH / home / user / .ssh del usuario.
  4. Agregue lo siguiente al archivo CopSSH / home / user / .bashrc del usuario:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Abra Git Bash y cree un repositorio en cualquier lugar de su PC:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

PC cliente

  1. Instala msysgit.
  2. Use la clave privada que creó en el servidor para clonar su repositorio desde ssh: // user @ server: port / repopath / repo.git (por alguna razón, la raíz es la unidad C :)

Esto me permitió clonar y confirmar con éxito, pero no pude acceder al repositorio en el servidor. Seguí recibiendo:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Esto me llevó al rastreo y la solución de Rui, que era crear o agregar las siguientes líneas a .gitconfig en la ruta % USERPROFILE% de su PC cliente (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

No estoy seguro de por qué esto es necesario ... si alguien pudiera proporcionar información, sería útil.

mi versión de git es 1.7.3.1.msysgit.0

timc
fuente
8

GitStack debe cumplir con su objetivo. Tengo una configuración de asistente. Es gratis para 2 usuarios y tiene una interfaz de usuario basada en la web. Se basa en msysgit.

poiuytrez
fuente
1
Precios del sitio web de GitStack: Gratis para hasta 5 usuarios, $ 299 / año para 6-10 usuarios, $ 499 / año para 11-25 usuarios, y así sucesivamente, hasta $ 2999 / año para 500 usuarios.
Simon Tewsi
1
GitStack ahora solo es gratuito para hasta 2 usuarios.
M4N
Entonces, 1 usuario para quién está configurando el servidor, 1 usuario para el cliente que visita el servidor. Este límite es demasiado estricto. Un equipo de 2 desarrolladores es demasiado pequeño en el mundo real.
ZhaoGang
7

Hay una buena pila de código abierto de Git llamada Git Blit. Está disponible para diferentes plataformas y en diferentes paquetes. También puede implementarlo fácilmente en su Tomcat existente o en cualquier otro contenedor de servlets. Eche un vistazo al Tutorial de configuración del servidor git en Windows en unos pocos clics para obtener más detalles, le llevará alrededor de 10 minutos obtener la configuración básica.

Ruslan Platonov
fuente
Trabajado como un encanto. Un millón de gracias.
AndroidDev
Bienvenido, me alegro de que esto haya sido útil
Ruslan Platonov
Ésta es una buena decisión. Fácil de usar para mí. No ha probado un git commit remoto, pero supongo que funcionará. Por cierto, el enlace ya no está disponible.
ZhaoGang
El enlace ya no existe.
Shihe Zhang el
3

No necesitas SSH para compartir git. Si está en una LAN o VPN, puede exportar un proyecto git como una carpeta compartida y montarlo en una máquina remota. Luego configure el repositorio remoto utilizando las URL "file: //" en lugar de las URL "git @". Toma todos los 30 segundos. ¡Hecho!

Jon Watte
fuente
2

Puede que simplemente no exista tal guía. Si es así, es posible que no tenga mucha suerte de convencer a nadie para que escriba uno, porque sería mucho trabajo.

Yo recomendaría cualquiera de las dos cosas. La más fácil es seguir la guía que tienes servilmente, lo que significa olvidarte de msysgit.

La más difícil es instalar un servidor Linux, tal vez como invitado en Windows usando VirtualBox (gratis) o VMWare o Parallels (pago), y luego siga uno de los muchos conjuntos de instrucciones que Google le guiará. Pero probablemente encontrará que esas instrucciones son insuficientes; por lo general, suponen que ya ha configurado un servidor ssh, por lo que debe obtener esa información en otro lugar. Lo he hecho dos veces, y puedo decir que a menos que ya seas un gurú de Linux, será una lucha.

Bob Murphy
fuente
1

Hice lo que Bob Murphy sugirió que era la opción "difícil".

Instalé Ubuntu bajo VMWare Server (gratis) en el trabajo y luego seguí esta guía sobre la configuración de Gitosis. Lo encontré mucho más fácil que tratar de hacerlo funcionar bajo Windows. Una vez que está configurado, realmente no tiene que tocarlo porque la administración de Gitosis se puede hacer desde Windows presionando versiones actualizadas del archivo gitosis.conf. Cualquier trabajo que tenga que hacer directamente en el servidor se realiza a través de PuTTY, por lo que no tengo que usar la horrible interfaz del servidor VMWare.

Recientemente he estado jugando con VirtualBox en casa y me ha parecido mucho mejor / más fácil trabajar con VMWare Server, por lo que puede valer la pena mirar eso.

Jacob Stanley
fuente
1

Solo quería agregar mis experiencias con la configuración de RUTA que Steve y Timc mencionan anteriormente: Tengo problemas de permisos al usar herramientas de shell (como mv y cp ) teniendo los ejecutables de shell de Git primero en la ruta.

Agregarlos después de la RUTA existente resolvió mis problemas. Ejemplo:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Supongo que CopSSH no va bien con todos los ejecutables de shell de msysgit ...

kjellander
fuente
0

Estoy usando GitWebAccess para muchos proyectos durante medio año y está demostrado que es lo mejor que he probado. Sin embargo, parece que últimamente las fuentes no son compatibles, así que no tome los últimos binarios / fuentes. Actualmente están rotos :(

Puede construir desde esta versión o descargar binarios compilados que uso desde aquí .

Ivan Danilov
fuente