Existe-t-il actuellement un moyen d'héberger un référentiel Git partagé dans Windows? Je comprends que vous pouvez configurer le service Git sous Linux avec:
git daemon
Existe-t-il une option Windows native, à court de partage de dossiers, pour héberger un service Git?
EDIT: J'utilise actuellement l'installation cygwin de git pour stocker et travailler avec des référentiels git dans Windows, mais je voudrais passer à l'étape suivante consistant à héberger un référentiel avec un service qui peut donner accès à d'autres.
git daemon
. : \Réponses:
Voici quelques étapes que vous pouvez suivre pour faire fonctionner le démon git sous Windows:
(Prérequis: une installation Cygwin par défaut et un client git prenant en charge le démon git)
Étape 1 : Ouvrez un shell bash
Étape 2 : Dans le répertoire / cygdrive / c / cygwin64 / usr / local / bin /, créez un fichier nommé "gitd" avec le contenu suivant:
Étape 3 : Exécutez la commande cygrunsrv suivante à partir d'une invite élevée (c'est-à-dire en tant qu'administrateur) pour installer le script en tant que service (Remarque: suppose que Cygwin est installé sur C: \ cygwin64):
Étape 4 : exécutez la commande suivante pour démarrer le service:
cygrunsrv --démarrez gitd
Vous avez terminé. Si vous voulez le tester, voici un script rapide et sale qui montre que vous pouvez pousser le protocole git sur votre machine locale:
la source
GitStack pourrait être votre meilleur choix. Il est actuellement gratuit (jusqu'à 2 utilisateurs)
et open sourceau moment de la rédaction.la source
Voici un serveur git dédié pour Windows: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
la source
git update-server-info
) après le push HTTP, et cette logique n'est pas implémentée par leur bibliothèque Git (GitSharp). Je doute qu'il atteigne bientôt un état de fonctionnement réel.Si vous travaillez dans un environnement Windows, avez-vous envisagé Mercurial ? C'est un système de contrôle de version distribué comme Git, mais qui s'intègre beaucoup plus proprement et facilement avec Windows.
la source
L'installation de CygWin est exagérée, lisez ce tutoriel pour savoir comment le faire plus rapidement et de manière native:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
la source
Si vous obtenez l'erreur
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
après avoir exécuté la commande:cela signifie que vous n'avez pas créé le dossier 'base-path'.
La création du dossier '/ git' et la réexécution de la commande résoudront ce problème.
la source
/git
autorisations NTFS n'autorisent pas l'accès en lecture / écriture du compte de service (SYSTEM).J'utilise actuellement le démon ssh de cygwin sur Windows pour servir et autoriser l'accès à distance à mon dépôt. Cela fonctionne assez bien, j'ai un contrôle complet sur qui accède à mon dépôt par leurs certificats ssh, et les performances flambent, même sur les liaisons WAN et VPN distantes.
Une autre solution consiste à utiliser Gitosis . C'est un outil qui facilite grandement les dépôts d'hébergement.
la source
Vous n'avez pas besoin d'héberger un service, vous pouvez également créer un référentiel partagé sur un lecteur partagé. Créez simplement un référentiel nu. Vous pouvez cloner un dépôt existant dans un référentiel partagé en utilisant: "git clone --bare --shared [source] [dest]". Vous pouvez également lancer un nouveau dépôt en utilisant "git init --bare --shared = all".
Henk
la source
Avez-vous envisagé d'utiliser la couche cygwin? Voir ce lien .
la source
Maintenant msysGit prend en charge le démon git! Cela fonctionne bien (pour moi du moins). Je vais essayer de le faire fonctionner en tant que service ...
la source
Gestionnaire SCM
la source
Sous Windows, vous pouvez également servir des référentiels Git avec Apache sur HTTP ou HTTPS, à l'aide de l'extension DAV.
Le chemin du référentiel Git peut ensuite être protégé par des contrôles d'authentification Apache tels que la restriction à certaines adresses IP ou l'authentification de type htpasswd / htdigest.
La limitation de l'utilisation de l'authentification htpasswd / htdigest est que le nom d'utilisateur: mot de passe est passé dans l'URL Git demandée, il est donc préférable de restreindre l'accès à l'URL Git à certaines adresses IP.
Modifier: Notez que vous pouvez laisser le mot de passe en dehors de l'URL Git et Git vous demandera le mot de passe lors du push et de la récupération / extraction à la place.
L'utilisation de HTTPS signifie que toutes les données sont cryptées lors du transfert.
Il est assez facile à installer et fonctionne.
L'exemple suivant montre la combinaison du contrôle d'accès par adresse IP et utilisateur: mot de passe sur HTTP standard.
Exemple Apache Virtualhost
Exemple .git / config
la source
Au travail, j'utilise GitBlit GO installé sur un serveur Windows. Travaillez parfaitement et intégrez bien avec ActiveDirectory pour l'authentification et l'autorisation des utilisateurs. Il est également gratuit et open source (sous licence Apache)
Page d'accueil de GitBlit
Seul l'accès HTTP (S) est pris en charge, pas de SSH, mais sous Windows, vous ne devriez plus avoir besoin de rien.
la source
c'est une réponse de 2015 à une question de plus de 7 ans.
Pour un paiement unique de 10 $, sur https://bitbucket.org/product/server , on peut acheter une licence Windows 64 bits pour un maximum de 10 utilisateurs .
Apparemment, les versions 32 bits ne sont disponibles que via leur archive.
Bitbucket Server était auparavant connu sous le nom de Stash .
Veuillez noter que je n'ai pas essayé cette version mais 10 $ me semblent une bonne affaire; ici, j'ai lu qu'Atlassian donne les 10 $ à une association caritative. FWIW
la source
Je pense que ce que dit Henk, c'est que vous pouvez créer un référentiel partagé sur un lecteur, puis le copier dans un emplacement commun auquel vous avez tous les deux accès. S'il y a un serveur d'entreprise ou quelque chose auquel vous avez tous les deux accès ssh, vous pouvez placer le référentiel quelque part où vous pouvez le SCP de nouveau sur votre propre ordinateur, puis en extraire. J'ai fait ça pour moi pendant un petit moment, puisque j'ai deux ordinateurs. C'est un problème, mais cela fonctionne.
la source
Pour Windows 7 x64 et Cygwin 1.7.9, j'avais besoin d'utiliser / usr / bin / gitd comme argument args de cygrunsrv
De plus, j'avais besoin d'exécuter bash en tant qu'administrateur pour installer le service.
la source