Configurer un serveur Git avec msysgit sous Windows [fermé]

163

Mes amis et moi essayons de configurer Git pour Windows à l'aide du didacticiel Git Server: Gitosis et Cygwin sous Windows , mais nous continuons à rencontrer des problèmes.

À quoi ressemblerait un guide «Configurer Git Server» pour Windows à l'aide de msysgit ?

Il y a un commentaire dans le didacticiel ci-dessus suggérant que cela ne peut pas être fait avec msysgit car gitosis 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. Installez mysisgit

  2. ?

Kara
la source
* Git pour les développeurs Windows . 3 parties, c'est un lien vers la première. Bon! * Un guide illustré de Git sur Windows * Extensions Git (vidéos)
Rook
J'ai utilisé l'outil sur windowsgit.com comme l'a suggéré le linguiste informatique après avoir essayé (et échoué) avec les méthodes ci-dessus. C'était ridiculement facile et ça fonctionnait. Vaut bien les 9 $, l'OMI.
Edward Anderson
Vous pouvez essayer Git Candy, une plateforme Git basée sur ASP.NET MVC. Source sur: github.com/Aimeast/GitCandy , Démo sur: git.53wb.com
Aimeast

Réponses:

79

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

Voir 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.

Tim
la source
5
Pour mémoire, d'après ce que je peux dire, au point 5.5 des instructions de Tim, vous devez insérer la commande supplémentaire AVANT le #, pas après (sinon, elle reste commentée).
Benjol
1
Vous pouvez jeter un œil à windowsgit.com .
Lilith River
6
Notez que Copssh n'est pas fourni sur sourceforge et qu'il n'est plus gratuit à partir d'avril 2012
TiansHUo
2
@Tim, pouvez-vous republier le contenu de votre article de blog ici? Si votre blog est hors ligne, cette réponse devient inutile.
Starfish
1
@Starfish - C'est à cela que sert web.archive.org! Voici l'article de Tim à ce sujet: web.archive.org/web/20100207010332/http://www.timdavis.com.au/…
alldayremix
27

Bonobo Git Server pour Windows

Depuis la page Web du serveur Bonobo Git :

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

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

Fonctionnalités:

  • Accès sécurisé et anonyme à vos référentiels git
  • Interface Web conviviale pour la gestion
  • Gestion des accès au référentiel basée sur les utilisateurs et les équipes
  • Navigateur de fichiers de référentiel
  • Navigateur de validation
  • Localisation

Brad Kingsley a un joli tutoriel pour installer et configurer 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 version de pointe sans aucune connaissance préalable de Git. GitStack facilite également la sécurisation et la mise à jour de votre serveur. GitStack est construit sur le dessus du véritable Git pour Windows et est compatible avec tous les autres clients Git. GitStack est entièrement gratuit pour les petites équipes 1 .

1 l' édition de base est gratuite pour jusqu'à 2 utilisateurs

Daniel
la source
1
GitStack n'est gratuit que pour 5 utilisateurs maximum. Une fois cette limite dépassée, vous bénéficiez d'une tarification par an en fonction du nombre d'utilisateurs. Consultez la page Tarification sur le site Web de GitStack.
Simon Tewsi
2
Notez que le développeur original de Bonobo Git Server, Jakub Chodounský, a déclaré dans un message du forum le 1er janvier 2012 qu'il ne pouvait plus soutenir le projet.
Simon Tewsi
2
GitStack n'est désormais gratuit que pour 2 utilisateurs maximum.
M4N
2
Bonobo est à nouveau actif un projet.
Tomas Kubes
2
N'oubliez pas d'activer IIS> Services WWW> Fonctionnalités de développement d'applications> ASP.NET 4.5. Bonobo a fonctionné pour moi là où GitStack (qui ne pouvait même pas utiliser le msysgit grand public) ne l'a pas fait, et Bonobo est open-source et sous licence MIT! Cela offre une solution satisfaisante pour Windows, autant que je préfère utiliser une machine Unix à cette fin.
Sera
26

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é pour obtenir un serveur Git fonctionnant sous Windows 7 Home Premium 64.

Voici un 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 une intégration de ce genre, mais j'ai beaucoup appris au cours du processus. J'espère que ma douleur profitera à quelqu'un d'autre à l'avenir, car c'était un processus ardu.

  1. Il y a une étape pour copier tous les exécutables Git dans votre répertoire bin CopSsh. Au lieu de copier des fichiers et de déterminer quels fichiers sont nécessaires, ajoutez le chemin git bin à 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 d'accueil CopSsh et Windows):

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

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

    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'

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

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

  2. Les nouvelles versions de msysgit peuvent ne pas vous donner l'écran pour choisir l'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 pas suivi une partie des instructions et c'était l'installation de Tortoise - j'ai utilisé la ligne de commande à la place 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 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 cogné 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 refaisais, 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 sur Windows:

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

    Le côté client des choses:

    http://toolmantim.com/ought/setting_up_a_new_remote_git_repository

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

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

    Plus Contrôle de version d'O'Reilly avec Git - le chapitre Dépôts distants.

Rétrospectivement, si j'avais su combien de temps cela prendrait, j'aurais peut-être commencé avec Mercurial car je lis l'installation sur Windows est plus facile, mais j'aurai un avis là-dessus après avoir travaillé avec Git pendant un certain temps, puis essayer Mercurial .

Steve
la source
J'ai des problèmes avec l'étape CopSSH. Le lien vers CopSSH n'est plus là ... Je suis dirigé vers sourceforge.net/projects/sereds/files où je ne peux télécharger que cwRsync_4.0.4_Installer.zip au lieu de l'installateur CopSSH. Aucune suggestion?
user5243421
Voici le lien que j'ai utilisé: itefix.no/i2/node/27
Steve
1
Depuis novembre 2011, Copssh est une solution commerciale. La version 3.0.3 est disponible gratuitement.
mateuscb
20

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

Pritesh Patel
la source
Merci pour votre vote. Pouvez-vous expliquer pourquoi voter contre ce commentaire? Veuillez être bon.
Pritesh Patel
Projet fantastique, fait ma journée, merci.
Anderson Fortaleza
16

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 l' authentification par mot de passe et cochez l'authentification par clé publique pour que vos clés publiques / privées 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 dépôt à 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 valider avec succès, mais je ne pouvais pas pousser vers le repo 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

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

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

Je ne sais pas pourquoi cela est nécessaire ... si quelqu'un pouvait donner un aperçu, ce serait utile.

ma version git est 1.7.3.1.msysgit.0

timc
la source
8

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

poiuytrez
la source
1
Prix sur le site Web de GitStack: gratuit pour jusqu'à 5 utilisateurs, 299 $ / an pour 6 à 10 utilisateurs, 499 $ / an pour 11 à 25 utilisateurs, et ainsi de suite, jusqu'à 2999 $ / an pour 500 utilisateurs.
Simon Tewsi
1
GitStack n'est désormais gratuit que pour 2 utilisateurs maximum.
M4N
Donc, 1 utilisateur pour qui configure le serveur, 1 utilisateur pour le client qui visite le serveur. Cette limite est trop stricte. Une équipe de 2 développeurs est trop petite dans le monde réel.
ZhaoGang
7

Il existe une belle pile Git open source 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 sur tout autre conteneur de servlet. Jetez un œil au tutoriel de configuration du serveur git sur Windows en quelques clics pour plus de détails, il vous faudra environ 10 minutes pour obtenir la configuration de base.

Ruslan Platonov
la source
A travaillé comme un charme. Mille mercis.
AndroidDev
Bienvenue, je suis heureux que cela vous ait été utile
Ruslan Platonov
c'est un bon choix. facile à utiliser pour moi. N'a pas testé un commit git distant, mais je suppose que cela fonctionnera. BTW, le lien n'est plus disponible.
ZhaoGang
Le lien n'existe plus.
Shihe Zhang
3

Vous n'avez pas besoin de SSH pour partager git. Si vous êtes sur un LAN ou un VPN, vous pouvez exporter un projet git en tant que dossier partagé et le monter sur une machine distante. Configurez ensuite le dépôt distant en utilisant les URL "file: //" au lieu des URL "git @". Prend toutes les 30 secondes. Terminé!

Jon Watte
la source
2

Un tel guide n'existe peut-être tout simplement pas. Si c'est le cas, vous n'aurez peut-être pas beaucoup de chance de convaincre qui que ce soit 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 servilement, ce qui signifie oublier msysgit.

Le plus difficile est de mettre en place un serveur Linux - peut-être en tant qu'invité sous Windows en utilisant VirtualBox (gratuit) ou VMWare ou Parallels (payant), puis de suivre l'un des nombreux ensembles d'instructions auxquels Google vous guidera. Mais vous trouverez probablement que ces instructions sont insuffisantes - elles 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 qu'à moins que vous ne soyez déjà un gourou Linux, ce sera un combat.

Bob Murphy
la source
1

J'ai fait ce que Bob Murphy suggéré comme l'option «difficile».

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

J'ai récemment joué avec VirtualBox à la maison et je l'ai trouvé beaucoup plus agréable / plus facile à utiliser que VMWare Server, donc cela vaut peut-être la peine de regarder cela.

Jacob Stanley
la source
1

Je voulais juste ajouter mes expériences avec la configuration de PATH que Steve et timc mentionnent ci-dessus: j'ai eu des problèmes de permission en utilisant des outils shell (comme mv et cp ) avec les exécutables shell de Git en premier dans le chemin.

En les ajoutant après le PATH existant, 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 ...

Kjellander
la source
0

J'utilise GitWebAccess pour de nombreux projets depuis six mois maintenant, et il s'est avéré être le meilleur de ce que j'ai essayé. Il semble, cependant, que ces derniers temps, les sources ne sont pas prises en charge, donc - ne prenez pas les derniers binaires / sources. Actuellement, ils sont cassés :(

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

Ivan Danilov
la source