Pourquoi ne pas simplement installer svn sur votre ordinateur portable Linux et utiliser directement le dépôt du projet? Git est peut-être la nouvelle tendance, mais il semble vraiment que vous vous compliquez la vie inutilement dans ce cas particulier.
bendin
bendin non, je ne savais pas que c'était difficile, car je mets en place l'environnement maintenant je suis heureux que vous ayez parlé ...
Setori
1
Premièrement: mon notebook n'est pas autorisé sur ce vpn, donc je ne peux pas accéder directement au svn. deuxièmement: je veux m'engager dans mon propre référentiel, tout l'intérêt d'utiliser git est que je puisse faire des commits locaux, créer des branches et fusionner sans douleur. Je trouve que l'utilisation de svn est plutôt crampe.
Setori
Si vous avez installé python, un simple git instaweb -d pythonpourrait être difficile (avec Git 2.21, février 2019): voir ma réponse ci
VonC
Réponses:
197
Accédez à votre projet et démarrez git-daemon avec les commutateurs suivants:
cd project
git daemon --reuseaddr --base-path=. --export-all --verbose
Cela indique à git-daemon de servir tous les projets dans le répertoire courant (ce qui, je suppose, est le répertoire du projet contenant le dossier .git /). Il lui dit également de réutiliser la même adresse si vous l'éteignez et la redémarrez trop rapidement.
Vous pouvez mettre cela dans un script batch avec un nom facile à retenir comme "gitserve", donc vous n'avez pas besoin de tout taper à nouveau. Comme suggéré dans certains commentaires, dans les versions récentes de Git, vous pouvez ajouter un alias à la configuration Git :
Je pense qu'il est important de noter que bien qu'il git daemonpermette l'accès à distance par d'autres clients git, il manque l'interface Web qui hg servefournit.
Rob Kennedy
4
faites servir un alias dans votre .gitrc comme:serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Plutôt que d'écrire votre propre script batch, utilisez gitjour . Il sait comment démarrer correctement le démon git et diffusera l'URL du clone via mDNS afin que vous puissiez le faire gitjour showsur la boîte Linux et copier et coller.
il ditlighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
Rakib
4
@syedrakib Vous aurez besoin d'installer lighttpd, ou apache2, ou autre chose. Personnellement, j'utilise git instaweb -d webricksur OS X, car webrick est livré avec Ruby, qui est préinstallé sur OS X.
Martijn Heemels
6
Cet outil ne semble pas compatible avec Windows. Comme l'affiche demandait un outil Windows, c'est un facteur important pour cette réponse.
Robert MacLean
9
Voici une alternative. Vous aurez besoin de python installé.
courir git update-server-info
aller au .gitrépertoire
courir python -mSimpleHTTPServer
(créez simplement un alias dans votre gitconfig)
Vous pouvez maintenant retirer le repo avec git pull http://HOST_NAME:8000/
PS: lorsque vous utilisez la solution du démon git, vous pouvez définir --base-path=.gitl'URLgit://HOST/
J'ai juste essayé aveuglément. Je suis capable de cloner git mais je ne peux pas accéder à l'interface Web. Il semble que le navigateur attend une réponse de votre serveur.
sree
0
Ajouter les lignes suivantes dans .git / config
[instaweb]
local = true
httpd = webrick
port = 4231
git-instaweb: ajouter le http.serversupport intégré de Python
Avec ce correctif, il est possible de lancer git-instaweben utilisant le http.servergestionnaire Python CGI via l' -d pythonoption.
git-instawebgénère un petit wrapper autour du http.server(in GIT_DIR/gitweb/) qui adresse une limitation du gestionnaire CGI où les scripts CGI doivent être dans un cgi-binsous-répertoire et l'index du répertoire ne peut pas être facilement modifié. Pour garder l'implémentation petite, gitwebs'exécute sur l'url /cgi-bin/gitweb.cgiet une redirection automatique est effectuée lors de l'ouverture /.
Le wrapper généré est compatible avec Python 2 et 3.
Python est installé par défaut sur la plupart des distributions Linux modernes, ce qui permet de s'exécuter git instaweb -d pythonsans rien d'autre.
git instaweb -d python
pourrait être difficile (avec Git 2.21, février 2019): voir ma réponse ciRéponses:
Accédez à votre projet et démarrez git-daemon avec les commutateurs suivants:
Cela indique à git-daemon de servir tous les projets dans le répertoire courant (ce qui, je suppose, est le répertoire du projet contenant le dossier .git /). Il lui dit également de réutiliser la même adresse si vous l'éteignez et la redémarrez trop rapidement.
Vous pouvez mettre cela dans un script batch avec un nom facile à retenir comme "gitserve", donc vous n'avez pas besoin de tout taper à nouveau. Comme suggéré dans certains commentaires, dans les versions récentes de Git, vous pouvez ajouter un alias à la configuration Git :
Une fois que c'est fait sur le serveur (votre box Windows), vous pouvez faire:
git-daemon utilise le protocole git: // pour le transport, donc sur le client (votre machine Linux), vous devrez faire:
la source
git daemon
permette l'accès à distance par d'autres clients git, il manque l'interface Web quihg serve
fournit.serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git
Plutôt que d'écrire votre propre script batch, utilisez gitjour . Il sait comment démarrer correctement le démon git et diffusera l'URL du clone via mDNS afin que vous puissiez le faire
gitjour show
sur la boîte Linux et copier et coller.Aussi un bon article avec un aperçu de gitjour et un certain nombre d'autres outils similaires du Dr Nic, Qu'est-ce que * jour et pourquoi ce sont des applications tueuses pour RailsCamp08 .
la source
Utilisant actuellement deux alias - serve et hub. Servir pour le partage en lecture seule et le concentrateur pour le partage en lecture / écriture:
Il existe également un didacticiel plus détaillé sur le partage via le démon git: http://l.rw.rw/git-daemon .
la source
Si vous souhaitez simplement exposer le référentiel avec un navigateur Web
git-instaweb
la source
lighttpd not found. Install lighttpd or use --httpd to specify another httpd daemon.
git instaweb -d webrick
sur OS X, car webrick est livré avec Ruby, qui est préinstallé sur OS X.Voici une alternative. Vous aurez besoin de python installé.
git update-server-info
.git
répertoirepython -mSimpleHTTPServer
(créez simplement un alias dans votre gitconfig)
Vous pouvez maintenant retirer le repo avec
git pull http://HOST_NAME:8000/
PS: lorsque vous utilisez la solution du démon git, vous pouvez définir
--base-path=.git
l'URLgit://HOST/
la source
git-webui est une extension git qui fournit une interface utilisateur Web et la possibilité de cloner / extraire d'autres ordinateurs
https://github.com/alberthier/git-webui
D'autres personnes peuvent
ou
la source
Ajouter les lignes suivantes dans .git / config
puis exécutez
la source
Git 2.21 (février 2019) vous permet de combiner python et
git instaweb
:Voir commit 2eb14bb (28 janvier 2019) par Arti Zirk (
artizirk
) .(Fusionné par Junio C Hamano -
gitster
- in commit abf39e3 , 05 févr.2019 )la source