148 votes

Configurer un serveur Git avec msysgit sous Windows

Mes amis et moi essayons de configurer Git pour Windows en utilisant le tutoriel suivant Serveur Git : Gitosis et Cygwin sous Windows mais nous continuons à rencontrer des problèmes.

Qu'est-ce qu'un guide de "Configuration du serveur Git" pour Windows utilisant msysgit être comme ?

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

  1. Installer mysisgit

  2. ?

79voto

Tim Points 1565

J'ai trouvé cet article et je viens de publier quelque chose sur mon blog qui pourrait vous aider.

Véase Configuration d'un serveur Msysgit avec copSSH sous Windows . C'est long, mais j'ai réussi à le faire fonctionner sur Windows 7 Ultimate x64.

27voto

Daniel Points 3174

Bonobo Git Server pour Windows

Desde el Page web du serveur Git de Bonobo :

Bonobo Git Server pour Windows est une application web. votre IIS et facilement gérer et se connecter à vos dépôts git.

Bonobo Git Server est un projet open-source. source sur github .

Caractéristiques :

  • Accès sécurisé et anonyme à vos dépôts git
  • Interface web conviviale pour la gestion
  • Gestion des accès aux référentiels par utilisateur et par équipe
  • Navigateur de fichiers du référentiel
  • Navigateur Commit
  • Localisation

Brad Kingsley a une belle tutoriel pour installer et configurer le serveur Bonobo Git.

GitStack

Pile Git est une autre option. Voici une description tirée de leur site web :

GitStack est un logiciel qui vous permet de se pour Windows. Cela signifie que vous créez un système de version de pointe sans aucune connaissance préalable de Git. GitStack rend également super facile de sécuriser et de maintenir votre serveur à jour. GitStack est construit sur GitStack est construit sur la base de l'authentique Git pour Windows et est compatible avec tout autres clients Git. GitStack est entièrement gratuit pour les petites équipes. 1 .

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

26voto

Steve Points 2734

Pour ce qui est de la référence à la page de Tim Davis - Configuration d'un serveur Msysgit avec copSSH sous Windows - Je l'ai utilisé pour faire fonctionner un serveur Git sous Windows 7 Home Premium 64.

Voici un post-mortem/mise à jour de ce que j'ai appris en plus de ses instructions.

Comme l'a dit Tim Davis, ce fut un processus ardu et frustrant, du moins pour moi - je ne suis pas très doué pour ce genre d'intégration, mais j'ai beaucoup appris au cours de ce processus. J'espère que ma douleur profitera à quelqu'un d'autre à l'avenir, car ce processus a été ardu.

  1. Il y a une étape pour copier tous les fichiers Git. dans votre répertoire CopSsh bin de CopSsh. Au lieu de copier les fichiers et de trouver quels fichiers sont nécessaires, ajoutez le chemin d'accès à git bin à votre chemin git. Je l'ai fait en modifiant mon .bashrc et mon profil CopSsh.

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

    gitpath='/cygdrive/c/Program Files (x86)/Git/bin'

    gitcorepath='cygdrive/c/Program Files (x86)/Git/libexec/git-core' (chemin du noyau)

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

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

    gitpath='/c/Program Files (x86)/Git/bin'

    gitcorepath='cygdrive/c/Program Files (x86)/Git/libexec/git-core' (chemin du noyau)

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

    Il y a une certaine duplication ici - cela fonctionne pour moi, donc quelqu'un peut indiquer quel est le bon endroit pour modifier le chemin.

  2. Les nouvelles versions de msysgit pourraient ne pas vous donner l'écran pour choisir l'exécutable ssh où vous choisissez entre l'exécutable Git ssh et PuTTY ssh. Vous devrez définir GIT_SSH manuellement si vous utilisez PuTTY.

  3. Je n'ai pas suivi une seule partie de la instructions et c'était l'installation de Tortoise - j'ai utilisé la ligne de commande de commande, car c'est ainsi que je préfère apprendre un vcs comme je l'ai fait avec rcs et Subversion et J'ai trouvé que cela fonctionnait pour moi. J'ai eu des problèmes avec la commande clone en utilisant ssh. Voici comment j'ai procédé :

    Clone de Git avec ssh - Impossible de trouver le dépôt.

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

  4. Le répertoire d'installation de CopSsh était /Program Files (x86)/ICW. Je m'en suis avec cela, mais si je devais le refaire, j'utiliserais je le referais, j'utiliserais un nom de répertoire sans espace.

  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 (sans rapport avec Windows, mais plus en profondeur que les étapes d'installation d'installation) :

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

    Plus l'émission de O'Reilly Contrôle de version avec Git - le chapitre Référentiels distants.

Rétrospectivement, si j'avais su à quel point cela prendrait du temps, j'aurais peut-être commencé par Mercurial, car j'ai lu que l'installation sur Windows était plus facile, mais je me ferai une opinion à ce sujet après avoir travaillé avec Git pendant un certain temps, puis essayé Mercurial.

20voto

Pritesh Patel Points 1399

Je ne sais pas pourquoi personne n'a suggéré de http://gitblit.com . Solution purement basée sur Java, autorisant le protocole HTTP et très facile à configurer.

16voto

timc Points 175

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 Authentification par mot de passe et vérifier Authentification par clé publique pour que vos clés publiques/privées fonctionnent.

  3. Créez des clés publiques/privées en utilisant PuTTygen. Placez les deux clés dans le répertoire CopSSH/home/user/.ssh de l'utilisateur.

  4. Ajoutez les éléments suivants 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 dépôt n'importe où sur votre PC :

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

PC client

  1. Installer msysgit.
  2. Utilisez la clé privée que vous avez créée sur le serveur pour cloner votre repo à partir de ssh://user@server:port/repopath/repo.git (pour une raison quelconque, la racine est le lecteur C :)

Cela m'a permis de cloner et de commiter avec succès, mais je ne pouvais pas pousser vers le repo nu sur le serveur. Je continuais à obtenir :

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

Cela m'a conduit à La trace et la solution de Rui qui était de créer ou d'ajouter les lignes suivantes au fichier .gitconfig dans votre Le %USERPROFILE% du PC client chemin ( C:\Users\UserName ).

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

Je ne suis pas sûr de la raison pour laquelle cela est nécessaire... si quelqu'un peut donner son avis, ce serait utile.

ma version git est 1.7.3.1.msysgit.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X