2011-10-04 10 views
6

स्थापित करना मैं डिफ़ॉल्ट usr/local/git/bin/git निर्देशिका से भिन्न कस्टम स्थान में गिट स्थापित करना चाहता हूं कि http://git-scm.com/ वेबसाइट से पैकेज इंस्टॉलर स्थापित करता है।कस्टम गिट स्थापना

उदाहरण के लिए, मैं सिर्फ /Users/braitsch/my-git को usr/local/git की सामग्री को कॉपी करने और /Users/braitsch/my-git/bin करने के लिए अपने पथ चर को अद्यतन करने की कोशिश की और अब Git के दुखी कह रही है कि वह अपने आदेशों में से कुछ इस तरह के git -stash के रूप में नहीं मिल रहा।

मैंने अभी भी ./git exec-path=/Users/braitsch/my-git/libexec/git-core सेटिंग करने का प्रयास किया है, लेकिन ऐसा लगता है कि ऐसा नहीं लगता है।

तो मेरे लिए मेरे प्रश्न यह है कि आप पैकेज प्रबंधक या प्री-बिल्ट इंस्टॉलर्स के उपयोग के बिना गिट का कस्टम इंस्टॉल कैसे स्थापित करेंगे? मुझे एक परिदृश्य ढूंढना अच्छा लगेगा कि मैं आसानी से मैक & विंडोज दोनों पर उपयोग कर सकता हूं। अग्रिम में धन्यवाद।

- अद्यतन -

यह Git गुप्त कोष (और संभवतः अन्य आदेशों) की तरह लग रहा है, तो आप निर्देशिका है कि किसी अन्य स्थान पर पैकेज इंस्टॉलर के माध्यम से usr/local/git पर स्थापित हो जाता ले जाने के असफल हो जायेगी। क्या किसी के पास इस बारे में कोई सुझाव है कि इसे कैसे प्राप्त किया जाए? मैं एक कस्टम स्थान से गिट चलाने की कोशिश कर रहा हूं लेकिन ऐसा लगता है कि http://git-scm.com साइट पर निर्माण के माध्यम से यह संभव नहीं है?

+0

आप '/ उपयोगकर्ताओं/braitsch/मेरी-Git/bin' को अपने पथ, सही अद्यतन किया? नहीं '/ उपयोगकर्ता/braitsch/my-git/bin/git'? – VonC

+0

मैंने किया, क्षमा करें कि एक टाइपो था। बस ठीक किया। सब कुछ गिट स्टैश को छोड़कर इस सेटअप के साथ काम कर रहा प्रतीत होता है ..क्या आपको पता है, क्या सब कुछ गिट की उस 'usr/local/git' निर्देशिका में निहित है जो पैकेज इंस्टॉलर बनाता है या गिट फ़ाइल सिस्टम पर अन्य निर्भरताओं तक पहुंचता है? एक बार फिर धन्यवाद। – braitsch

+0

'गिट स्टेश' के लिए आप किस सटीक कमांड टाइप कर रहे हैं? (और सटीक त्रुटि संदेश क्या है?) (क्योंकि आपने 'git -stash' को' - 'के साथ लिखा था) – VonC

उत्तर

3

मेरे लिए क्या अच्छा काम करता है (git stash सहित) गिट भंडार क्लोन करना है, उदा। साथ:

cd 
git clone git://github.com/gitster/git.git 
cd git 
make 

(मैं पहले स्थापित किया था sudo apt-get build-dep git साथ निर्माण निर्भरता है, जो हाल ही में एक डेबियन-आधारित वितरण पर काम करेंगे - अन्यथा यदि आप एक निर्माण त्रुटि मिलती है तो आप सिर्फ साथ Git के निर्माण निर्भरता स्थापित करने के लिए होगा जो कुछ भी तंत्र आप सामान्य रूप से उपयोग करें)

तो फिर तुम साथ इस Git कॉल कर सकते हैं:।

$ export GIT_EXEC_PATH=~/git/ 
$ ~/git/git --version 
git version 1.7.7.rc0.72.g4b5ea 

... या वातावरण चर के बजाय ~/git/git --exec-path=/home/mark/git का उपयोग कर।

आप कहीं भी करने के लिए बनाया स्रोत पेड़ स्थानांतरित कर सकते हैं, और यह अभी भी, काम करता है, उदा .:

$ mv ~/git ~/tmp/ 
$ export GIT_EXEC_PATH=~/tmp/git/ 
$ ~/tmp/git/git --version 
git version 1.7.7.rc0.72.g4b5ea 
+0

हाय मार्क, आपकी प्रतिक्रिया के लिए धन्यवाद लेकिन दुर्भाग्य से यह मेरे लिए काम नहीं कर रहा है। किसी भी चीज़ को '--exec-path' सेट करने के प्रयासों को त्रुटि उत्पन्न होती है उदा। 'git --exec-path =/उपयोगकर्ता/braitsch/test-dir/git' और निर्यात GIT_EXEC_PATH के माध्यम से ENV चर सेट करना अनदेखा प्रतीत होता है। ऐसा लगता है कि मैं केवल तंग हो सकता हूं और अब क्लोन (https से अधिक) काम करने के लिए कर सकता हूं अगर केवल अगर मैं उसी स्थान पर गिट छोड़ देता हूं जहां मैंने इसे संकलित किया है। क्या मैं उपरोक्त आपके निर्देशों से कुछ खो रहा हूं? आपकी सहायता के लिए एक बार फिर से धन्यवाद। – braitsch

+0

बस इस पर विस्तार करने के लिए, संकलित कोड अनुरोधों की निर्देशिका को 'गिट क्लोन' और 'गिट फ़ेच' की निर्देशिका को स्थानांतरित करने के बाद 'घातक' के साथ https पर विफल हो गया: 'https' के लिए दूरस्थ सहायक खोजने में असमर्थ मुझे विश्वास है क्योंकि निर्देशिका को स्थानांतरित करना libcurl के लिए रास्ता। – braitsch

+0

कभी नहीं, मुझे लगता है कि मेरे पास यह काम है। कुछ में अपडेट होगा ... – braitsch

-3

एक वीएम का उपयोग करें (वर्चुअलबॉक्स मुफ्त है) और लिनक्स मशीन पर निर्माण और उपयोग करें। अपना खुद का निर्माण करने के बाद, आप संस्करणों को आसानी से स्विच कर सकते हैं।

उम्मीद है कि इससे मदद मिलती है।

+1

एक कस्टम गिट स्थापना स्थान के लिए केवल एक वीएम? –

+0

वास्तव में अच्छी तरह से काम करता है –

+1

मैंने यह किया, और मैं कहूंगा कि यह वास्तव में अच्छी तरह से काम करता है, लेकिन यह जल्दी से स्पष्ट हो जाता है कि यह समाधान लंबे समय तक बहुत उपयोगी नहीं है। – amn

2

मैं इसे स्रोत से फिर से बनाऊंगा। http://git-scm.com/ से टैरबॉल लें और फिर इसे ./configure --prefix=/path/to/my-git/ का उपयोग करके बनाएं।

संपादित: मैं अपने सिर कैसे एक पुनर्निधारणीय Git स्थापना बनाने के लिए के ऊपर से यकीन नहीं है, लेकिन आप एक विशेष, अद्वितीय, उपसर्ग के साथ यह निर्माण, यह स्थापित करने के लिए, तो स्थापित के माध्यम से grepping से शुरू करता है, तो उपसर्ग के लिए फ़ाइलें (यानी, grep -R my-git /path/to/my-git/), यह संभवतः एक अच्छा प्रारंभिक बिंदु होगा।

+0

मैं इसके लिए वोट देता हूं। यदि आप अपने पैकेज मैनेजर को बाईपास कर रहे हैं, तो इसे पूरी तरह से बाईपास करें और सबकुछ स्वयं करें। –

+0

धन्यवाद दोस्तों। जो मैं वास्तव में करने की कोशिश कर रहा हूं वह स्वयं निहित बाइनरी या पैकेज ढूंढता है या उत्पन्न करता है जिसे मैं अन्य मशीनों पर भी बंद कर सकता हूं। मैं एक गिट क्लाइंट बनाने की प्रक्रिया में हूं और गिट को अपनी मशीन पर चलने के लिए गिट या अन्य निर्भरताओं को मैन्युअल रूप से स्थापित करने के लिए मजबूर करने के परिदृश्य से बचने की कोशिश कर रहा हूं। अगर मैं स्रोत से संकलित करता हूं तो क्या वह उस उदाहरण को टाई नहीं करेगा जो मैं अपनी विशिष्ट मशीन पर बनाता हूं? – braitsch

+0

धन्यवाद डेविड, मैं उसे एक शॉट, चीयर्स दूंगा। – braitsch

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