2008-12-18 13 views
135

मैं जानना चाहता हूं कि http = बस Mercurial की एचजी सेवा की तरह कैसे प्रकाशित करें! बस जाना लिनक्स बॉक्स परगिट सेवा: मुझे यह आसान लगता है कि

git serve 

और उसके बाद: विंडोज़/काम बॉक्स पर ऐसा करने

git clone http://project project 

समाप्त हो गया। निम्नलिखित स्विच के साथ

+0

जैसा कि आप जानते हैं कि एक SVN रेपो के एक Git-svn क्लोन क्लोनिंग मुश्किल है? http://subtlegradient.com/articles/2008/04/22/cloning-a-git-svn-clone – bendin

+0

प्रोजेक्ट रिपॉजिटरी से सीधे अपने लिनक्स नोटबुक विज्ञापन उपयोग पर svn इंस्टॉल क्यों न करें? गिट नई गर्मी हो सकती है, लेकिन ऐसा लगता है कि आप इस विशेष मामले में अपने जीवन को अनावश्यक रूप से जटिल बना रहे हैं। – bendin

+0

बेंडिन नहीं, मुझे नहीं पता था कि यह मुश्किल था, क्योंकि पर्यावरण को स्थापित करने में मुझे खुशी है कि आपने बात की है ... – Setori

उत्तर

193
अपने प्रोजेक्ट में

नेविगेट और शुरू Git-डेमॉन:

cd project 
git daemon --reuseaddr --base-path=. --export-all --verbose 

यह बताता है git-डेमॉन वर्तमान निर्देशिका के अंदर सभी परियोजनाओं (जो मुझे लगता है सेवा करने परियोजना युक्त निर्देशिका है। गिट/फ़ोल्डर)। यह आपको उसी पते का पुन: उपयोग करने के लिए भी कहता है यदि आप इसे बंद कर देते हैं और इसे बहुत तेज़ी से शुरू करते हैं।

आप इसे "गिट्सर्व" जैसे नाम याद रखने के लिए एक बैच स्क्रिप्ट में डाल सकते हैं, इसलिए आपको इसे फिर से टाइप करने की आवश्यकता नहीं है।

[alias] 
    serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git 

एक बार है कि सर्वर (अपने Windows बॉक्स) पर किया जाता है, तो आप कर सकते हैं:: जैसा कि कुछ टिप्पणियों में सुझाव दिया, Git के हाल के संस्करणों में आप कर सकते हैं add an alias to the Git config

git serve 

Git-डेमॉन Git का उपयोग करता है: // परिवहन के लिए प्रोटोकॉल ताकि ग्राहक पर (अपने लिनक्स बॉक्स), तुम क्या करने की आवश्यकता होगी:

git clone git://123.456.789.111/ project 
+4

ओह हाँ आप अद्भुत व्यक्ति धन्यवाद – Setori

+3

आप यहां दिए गए अनुसार .gitconfig फ़ाइल को उपनाम के रूप में जोड़ सकते हैं: http://git.or.cz/gitwiki/Aliases#Serverepoonthespot – RFelix

+1

जो होना चाहिए http: // git.wiki.kernel.org/index.php/Aliases#Serve_repo_on_the_spot – Aeon

14

के बजाय अपने खुद के बारे में बैच स्क्रिप्ट, gitjour का उपयोग करें। यह जानता है कि गिट डिमन को सही तरीके से कैसे शुरू किया जाए और एमडीएनएस के माध्यम से क्लोन यूआरएल प्रसारित किया जाए ताकि आप लिनक्स बॉक्स पर gitjour show कर सकें और कॉपी और पेस्ट कर सकें।

डॉ निक, What is *jour and why they are killer apps for RailsCamp08 से गिटजोर और कई अन्य समान उपकरणों के एक सिंहावलोकन के साथ एक अच्छा लेख भी।

+0

+1। – Abizern

+0

बहुत उपयोगी लगता है। धन्यवाद। – Paul

+0

निश्चित रूप से gitjour। – dylanfm

11

आप बस एक वेब ब्राउज़र

git-instaweb

$ git instaweb -d apache2 --start 
$ lynx localhost:1234 
+0

यह कहता है कि 'lighttpd नहीं मिला। Lighttpd स्थापित करें या किसी अन्य httpd daemon निर्दिष्ट करने के लिएhttpd का उपयोग करें। –

+4

@syedrakib आपको lighttpd इंस्टॉल किया जाना चाहिए, या apache2, या कुछ और। व्यक्तिगत रूप से मैं ओएस एक्स पर 'गिट इंस्टवेब-डी वीब्रिक' का उपयोग करता हूं, क्योंकि वेब्रिक रूबी के साथ आता है, जो ओएस एक्स पर प्रीइंस्टॉल किया गया है। –

+0

@ मार्टिजन हिमल्स - 'गिट इंस्टवेब-डी वीब्रिक' ने सही काम किया ...... धन्यवाद। –

8

साथ रिपोजिटरी को बेनकाब करना चाहते हैं यहाँ एक वैकल्पिक तरीका है। आपको पाइथन स्थापित करने की आवश्यकता होगी।

  • रन git update-server-info
  • .git निर्देशिका के लिए जाने
  • रन python -mSimpleHTTPServer

(सिर्फ अपने gitconfig में एक उपनाम बनाएं)

अब आप git pull http://HOST_NAME:8000/

साथ रेपो खींच सकते हैं

पीएस: जब उपयोग नहीं वह डिमन समाधान गिट करता है जिसे आप --base-path=.git सेट कर सकते हैं ताकि यूआरएल git://HOST/

+0

पायथन 3 में, समकक्ष कमांड python -m http.server –

12

वर्तमान में दो उपनामों का उपयोग कर रहा है - सेवा और केंद्र।केवल पढ़ने के लिए शेयर पढ़ने/लिखने के लिए शेयर और हब के लिए सेवा प्रदान करें:

[alias] 
    serve = !git daemon --base-path=. --export-all --reuseaddr --informative-errors --verbose 
    hub = !git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors --verbose 

इसके अलावा, वहाँ है Git डेमॉन माध्यम से साझा करने के बारे में विस्तृत ट्यूटोरियल: http://l.rw.rw/git-daemon

0

Git-WebUI एक Git विस्तार जो एक वेब आधारित यूजर इंटरफेस और क्लोन/अन्य कंप्यूटरों से खींचने की क्षमता प्रदान करता है

https://github.com/alberthier/git-webui

$ cd my_git_repo 
$ git webui 

अन्य लोग कर सकते हैं

$ git clone http://<ip-of-your-computer>:8000/ repoclone 

या

$ git pull http://<ip-of-your-computer>:8000/ 
+0

है मैंने अभी इसके साथ अंधेरे से प्रयास किया है। मैं क्लोन गिट करने में सक्षम हूं लेकिन वेबगुई तक पहुंचने में सक्षम नहीं हूं। ऐसा लगता है कि ब्राउज़र आपके सर्वर से प्रतिक्रिया की प्रतीक्षा कर रहा है। – sree

0

.git/config में निम्नलिखित पंक्तियां जोड़ें

[instaweb] 
       local = true 
       httpd = webrick 
       port = 4231 

तो अमल

git instaweb 
संबंधित मुद्दे