Configuration du référentiel Git sur un serveur Windows distant?

22

J'ai un serveur Windows auquel je peux accéder localement ou à distance via Internet via une connexion de bureau à distance, etc.

Je veux mettre en place un référentiel git (quelque chose de similaire à "trunk" dans subversion), qui peut contenir une série de référentiels pour plusieurs projets.

Est-ce que quelqu'un sait comment je procède? Je veux le faire en utilisant une interface graphique si possible. J'ai suivi ce tutoriel Git Bash mais c'est très long et pas exactement ce que je recherche.

J'utilise un client Git appelé MSYSGIT. En utilisant cela, je veux juste pouvoir configurer des référentiels distants et commencer à valider le code source.

Toute aide serait grandement appréciée!

Goober
la source

Réponses:

13

De nos jours, il existe une fonctionnalité de téléchargement "HTTP intelligent", qui pourrait même remplacer l'accès SSH. Il n'est plus nécessaire de générer de clé privée et l'installation devrait être plus facile, car le composant serveur peut être écrit dans la langue de votre choix:

Si tout échoue, vous pouvez également choisir de configurer un serveur Apache et d'utiliser le git-http-backendbinaire CGI standard , voir: Quelles sont les étapes pour configurer git-http-backend w / Apache sous Windows?

vdboor
la source
Notez que "ces jours-ci" était il y a plus de 2 ans. Comme première réponse, je serais curieux de savoir si quelque chose a changé dans votre esprit?
RyanW
Eh bien, les deux sont également pris en charge sur Linux, et les deux doivent rester. Je ne sais pas grand-chose sur la situation de Windows en ce moment *, à part cela, je pense que le support HTTP sera la solution préférée. * puisque je suis principalement sur Mac / Linux "ces jours-ci";)
vdboor
Salut @vdboor, j'ai une question. Si nous utilisons ssh, nous pouvons avoir une authentification par clé publique afin que nous n'ayons pas besoin d'envoyer un mot de passe chaque fois que nous voulons tirer ou pousser. Cette fonctionnalité de connexion unique est-elle disponible dans la Smart Httpméthode? Je veux dire spécifier le mot de passe une fois pour toutes les actions push / pull sur le serveur.
AmirHossein
2

Vous pourriez envisager d'utiliser Cygwin + SSH + Gitosis pour répondre à ces besoins, mais malheureusement ce ne sera pas un processus de configuration simple pointer-cliquer. J'ai écrit un article de blog détaillé sur mes expériences récentes (y compris la procédure de configuration).

Quant à votre exigence pour que ce soit une expérience principalement graphique, je recommanderais à tous vos systèmes clients d' installer TortoiseGit . Cela évitera d'avoir à utiliser la ligne de commande pour ajouter, valider, pousser / tirer, etc.

Mark Embling
la source
Quelle option de client SSH convient le mieux? - Le TortoisePLink ou l'OpenSSH?
Goober
Les deux fonctionnent, mais il vaut probablement mieux opter pour openSSH, sauf si vous avez une raison de faire autrement - sinon, respectez les valeurs par défaut.
Mark Embling
1

Vous pouvez le configurer sous Cygwin :

Si vous optez pour cygwin, vous pouvez le faire uniquement sur le serveur et exécuter git-daemon sous cygwin, mais toujours utiliser msysgit sur les clients.

Faire fonctionner git correctement à partir de cygwin

rkthkr
la source
Il convient de noter que git-daemon ne fournit l'accès qu'en utilisant le protocole git: // (pas ssh ou fichier), et est en lecture seule. Pour fournir un accès en écriture, cela doit être fait via ssh ou le système de fichiers (ou une abstraction dessus).
Mark Embling
Plus de détails: kernel.org/pub/software/scm/git/docs/…
Mark Embling
1

Gogs vaut certainement le coup d'œil: facile à utiliser (plusieurs options d'installation prises en charge), multiplateforme (y compris Windows), léger et open source.

Ben Mordue
la source
l'avez-vous essayé?
Janus Troelsen
1

Voici quelques options:

Lilith River
la source
Je ne vais pas vous donner une note négative à ce sujet uniquement parce que vous avez révélé votre implication. C'est bien, mais pour rappel, si vous ne faites que publier des liens vers ce produit, vous serez probablement suspendu pour spam. Cela mis à part - bienvenue à Server Fault, nous vous souhaitons un agréable voyage :-)!
Ben Pilbrow
Je suis un utilisateur très actif de StackOverflow - cependant, c'est mon premier message sur ServerFault. Merci pour l'accueil :)
Lilith River
1
Ce n'est pas la seule méthode GUI - il y a aussi gitstack.com (je ne suis pas impliqué dans le projet et je ne l'ai pas essayé). Il pourrait également y en avoir d'autres.
rjmunro
Veuillez noter que cette réponse remonte à plus d'un an et que gitstack n'a été introduit qu'il y a quelques mois.
Lilith River
Environnement pourri sur Windows ... Pauvres utilisateurs de Windows payez votre argent pour des tas de merde. :) Utilisez plutôt bonobogitserver.com .
AmirHossein
0

Et voici encore un autre serveur Windows alternatif pour git: WebGitNet

cregox
la source
0

GitStack est celui que j'évalue actuellement.

Comme je commence également ce processus (configuration du serveur Git sur Windows), et que cette discussion remonte à plus d'un an, j'ai pensé ajouter cela au mélange.

RyanW
la source
0

Vérifiez également Gitwin - un serveur Git compatible OpenSSH pour Windows. Une édition gratuite est également disponible. Avertissement: je suis le développeur :-)

itefix
la source
0

Gitlab est une excellente solution et comprend une interface Web. Pour le faire fonctionner selon vos besoins.

  1. Activez l'hyperV sur votre serveur Windows
  2. Faire tourner une machine virtuelle Linux
  3. Installer Gitlab sur la VM
Eric
la source
Gitlab prend 2 concerts de RAM, ce n'est pas une idée raisonnable.
AmirHossein
0

Si vous avez une équipe de développeurs 5-10, je suggérerais d'aller avec vanilla git avec ssh. Facile à configurer et vous disposez de ssh pour protéger les données en transit.

Si vous avez plusieurs équipes avec un chiffre d'affaires sain, en supposant que Windows Active Directory soit en cours d'exécution, vous voudrez peut-être envisager Atlassian bitbucket. Nous utilisons bitbucket principalement pour l'exigence suivante: 1. Gérer les référentiels git en tant que projets, où nous pouvons fournir un contrôle d'accès en libre-service au niveau du projet. 2. Intégration de la connexion LDAP avec la synchronisation du groupe AD 3. Effort administratif très faible

Chris Cheah
la source
N'utilisez pas de vanille ssh sur les fenêtres. C'est de la crotte.
AmirHossein