web-dev-qa-db-fra.com

Configurer un serveur Git avec msysgit sous Windows

Mes amis et moi essayons de configurer Git pour Windows en utilisant le tutoriel Git Server: Gitosis et Cygwin sous Windows, mais continue à courir dans les problèmes.

À quoi ressemblerait un guide "Setup Git Server" pour Windows utilisant msysgit ?

Il y a un commentaire dans le tutoriel ci-dessus suggérant que cela ne peut pas être fait avec msysgit car la gitose nécessite l'utilisation d'un serveur SSH et de Bash? Qu'est-ce qu'un guide étape par étape (car il n'y en a pas de disponible)?

  1. Installer mysisgit

  2. ?

162
Tom

J'ai trouvé ce post et je viens de poster quelque chose sur mon blog qui pourrait aider.

Voir Configuration d’un serveur Msysgit avec copSSH sous Windows. C'est long, mais cela fonctionne avec succès sous Windows 7 Ultimate x64.

79
Tim

Bonobo Git Server pour Windows

Depuis le page Web du serveur Bonobo Git :

Bonobo Git Server pour Windows est une application Web que vous pouvez installer sur votre IIS, gérer et vous connecter facilement à vos référentiels git.

Bonobo Git Server est un projet open-source et vous pouvez trouver le source sur github .

Fonctionnalités:

  • Accès sécurisé et anonyme à vos dépôts git
  • Interface Web conviviale pour la gestion
  • Gestion des accès au référentiel utilisateur et équipe
  • Navigateur de fichier de référentiel
  • Navigateur de validation
  • Localisation

Brad Kingsley a un Nice tutoriel pour l'installation et la configuration de Bonobo Git Server.

GitStack

Git Stack est une autre option. Voici une description de leur site web:

GitStack est un logiciel qui vous permet de configurer votre propre serveur Git privé pour Windows. Cela signifie que vous créez un système de gestion de versions Edge sans aucune connaissance préalable de Git. GitStack facilite également la sécurisation et la mise à jour de votre serveur. GitStack est basé sur l'authentique Git pour Windows et est compatible avec tous les autres clients Git. GitStack est totalement gratuit pour les petites équipes1.

1 le édition de base est gratuit pour un maximum de 2 utilisateurs

26
Daniel

En ce qui concerne la référence à la page Tim Davis - Configuration d’un serveur Msysgit avec copSSH sous Windows - Je l’ai utilisée pour faire fonctionner un serveur Git sous Windows. 7 Familiale Premium 64.

Ci-dessous est une post-mortem/mise à jour de ce que j'ai appris en plus de ses instructions.

Comme Tim Davis l’a dit, c’était un processus ardu et frustrant, du moins pour moi. Je ne suis pas très doué pour ce type d’intégration, mais j’ai beaucoup appris au cours du processus. J'espère que ma douleur profitera à quelqu'un d'autre à l'avenir, car il s'agissait d'un processus ardu.

  1. Une étape consiste à copier tous les exécutables Git dans votre répertoire bin CopSsh. Au lieu de copier les fichiers et de déterminer quels fichiers sont nécessaires, ajoutez le chemin de la corbeille git à votre chemin git. Je l'ai fait en modifiant mon profil .bashrc et CopSsh.

    Voici ce que j'ai ajouté à .bashrc (dans votre répertoire personnel CopSsh et Windows):

    gitpath = '/ cygdrive/c/Fichiers de programme (x86)/Git/bin'

    gitcorepath = 'cygdrive/c/Fichiers de programme (x86)/Git/libexec/git-core'

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

    Voici ce que j'ai ajouté au profil bash (dans CopSsh etc/profile):

    gitpath = '/ c/Fichiers de programme (x86)/Git/bin'

    gitcorepath = 'cygdrive/c/Fichiers de programme (x86)/Git/libexec/git-core'

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

    Il y a un peu de duplication ici - cela fonctionne pour moi, donc quelqu'un carillon dans lequel est le bon endroit pour modifier le chemin.

  2. Les versions les plus récentes de msysgit peuvent ne pas vous donner l’écran pour choisir le fichier exécutable ssh où vous choisissez entre Git ssh et PuTTY ssh. Vous devrez définir GIT_SSH manuellement si vous utilisez PuTTY.

  3. Je n’ai suivi aucune partie des instructions, c’est-à-dire installer Tortoise. J’ai utilisé la ligne de commande. C’est ainsi que je préfère apprendre les vcs comme je l’ai fait avec rcs et Subversion et que cela a fonctionné pour moi. J'ai eu des problèmes avec la commande clone en utilisant ssh. Voici comment je l'ai fait:

    clone Git utilisant ssh - impossible de trouver le référentiel

    C'est là que je me suis le plus frappé la tête.

  4. Le répertoire d'installation de CopSsh était/Program Files (x86)/ICW. Je m'en suis tiré, mais si je le faisais encore, j'utiliserais un nom de répertoire sans espaces.

  5. Ces autres sources m'ont aidé à comprendre les choses:

    Une autre façon de configurer un serveur Git sous Windows:

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

    Le côté client des choses:

    http://toolmantim.com/ Thoughts/setting_up_a_new_remote_git_repository

    Une explication de Git en tant que serveur (non lié à Windows, mais un aspect plus détaillé que les étapes d'installation):

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

    De plus O'Reilly Contrôle de version avec Git - le chapitre Référentiels distants.

Rétrospectivement, si j'avais su que cela prendrait beaucoup de temps, j'aurais peut-être commencé avec Mercurial car je lis l'installation plus facilement sous Windows, mais j'aurai un avis à ce sujet après avoir travaillé avec Git pendant un moment, puis essayé Mercurial. .

26
Steve

Je ne suis pas sûr de savoir pourquoi quelqu'un n'a pas suggéré http://gitblit.com . Solution pure Java, autoriser le protocole HTTP et très facile à installer).

19
Pritesh Patel

Après avoir suivi le guide de Tim Davis et le suivi de Steve, voici ce que j'ai fait:

PC serveur

  1. Installez CopSSH, msysgit.
  2. Lors de la création de l'utilisateur CopSSH, décochez la case Authentification par mot de passe et cochez Authentification par clé publique pour que vos clés publique/privée fonctionnent.
  3. Créez des clés publiques/privées à l'aide de PuTTygen. placez les deux clés dans le répertoire CopSSH/home/user/.ssh de l'utilisateur.
  4. Ajoutez ce qui suit au fichier CopSSH/home/user/.bashrc de l'utilisateur:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Ouvrez Git Bash et créez un référentiel n’importe où sur votre PC:

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

PC client

  1. Installez msysgit.
  2. Utilisez la clé privée que vous avez créée sur le serveur pour cloner votre référentiel à partir de . Ssh: // utilisateur @ serveur: port/repopath/repo.git (pour certains raison, la racine est le lecteur C:)

Cela m'a permis de cloner et de commettre avec succès, mais je ne pouvais pas passer au référentiel nu sur le serveur. J'ai continué à recevoir:

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

Ceci m’a conduit à trace et solution de Rui qui consistait à créer ou à ajouter les lignes suivantes à .gitconfig dans votre (USER)% USERPROFILE% du PC client chemin (C:\Utilisateurs\Nom d'utilisateur).

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

Je ne suis pas sûr de savoir pourquoi cela est nécessaire ... si quelqu'un pouvait donner un aperçu, cela serait utile.

ma version de git est 1.7.3.1.msysgit.0

16
timc

GitStack devrait atteindre votre objectif. J'ai une configuration d'assistant. Il est gratuit pour 2 utilisateurs et dispose d'une interface utilisateur basée sur le Web. Il est basé sur msysgit.

8
poiuytrez

Il existe une belle pile open source Git appelée Git Blit. Il est disponible pour différentes plates-formes et dans différents packages. Vous pouvez également le déployer facilement sur votre Tomcat existant ou tout autre conteneur de servlets. Jetez un oeil à installez le serveur git sur Windows en quelques clics tutoriel pour plus de détails, il vous faudra environ 10 minutes pour obtenir une configuration de base.

6
Ruslan Platonov

Vous n'avez pas besoin de SSH pour partager git. Si vous êtes sur un réseau local ou un réseau privé virtuel, vous pouvez exporter un projet git en tant que dossier partagé et le monter sur un ordinateur distant. Configurez ensuite le référentiel distant en utilisant des URL "fichier: //" au lieu d'URL "git @". Prend toutes les 30 secondes. Terminé!

3
Jon Watte

Il se peut qu’il n’existe tout simplement pas un tel guide. Si c'est le cas, vous n'aurez peut-être pas beaucoup de chance de convaincre quiconque d'en écrire un, car ce serait beaucoup de travail.

Je recommanderais l'une des deux choses. Le plus simple est de suivre le guide que vous avez servit, ce qui signifie oublier msysgit.

Le plus difficile est de mettre en place un serveur Linux - peut-être en tant qu'invité sous Windows avec VirtualBox (gratuit), VMWare ou Parallels (payant), puis de suivre l'une des nombreuses instructions données par Google. Mais vous constaterez probablement que ces instructions sont insuffisantes - ils supposent généralement que vous avez déjà configuré un serveur ssh, par exemple, vous devez donc obtenir ces informations ailleurs. Je l'ai fait deux fois et je peux dire que si vous n'êtes pas déjà un gourou de Linux, ce sera un combat difficile.

2
Bob Murphy

Je voulais juste ajouter mes expériences avec le CHEMIN configurer que Steve et timc mentionne ce qui précède: j'ai eu des problèmes de permission avec les outils Shell (comme mv et cp) avec Git Shell exécutables en premier dans le chemin.

Les ajouter après le chemin EXISTANT à la place, cela a résolu mes problèmes. Exemple:

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

Je suppose que CopSSH ne va pas bien avec tous les exécutables Shell de msysgit ...

1
kjellander

J'ai fait ce que Bob Murphy suggérait l'option "difficile".

J'ai installé Ubuntu sous VMWare Server (gratuit) au travail, puis j'ai suivi ce guide pour configurer Gitosis. Je trouvais cela beaucoup plus facile que d'essayer de le faire fonctionner sous Windows. Une fois qu'il est configuré, vous n'avez vraiment pas besoin de le toucher car l'administration de Gitosis peut être effectuée à partir de Windows en transmettant les versions mises à jour du fichier gitosis.conf. Tous les travaux que je dois effectuer directement sur le serveur sont effectués via PuTTY. Je n'ai donc pas à utiliser l'interface horrible serveur VMWare.

Depuis quelque temps, je bricole avec VirtualBox et je trouve que travailler avec VMWare Server est beaucoup plus agréable et plus facile à utiliser; il est donc intéressant de regarder cela.

1
Jacob Stanley

J'utilise GitWebAccess pour de nombreux projets depuis six mois maintenant, et c'est le meilleur de ce que j'ai essayé. Il semble cependant que, dernièrement, les sources ne sont pas prises en charge. Ne prenez donc pas les derniers fichiers binaires/sources. Actuellement ils sont cassés :(

Vous pouvez construire à partir de cette version ou télécharger les fichiers binaires compilés que j'utilise à partir de ici .

0
Ivan Danilov