2011-08-30 8 views
22

मैं sshfs पर गिट का उपयोग कर रहा हूं (मैक ओएस एक्स 10,5, 10.7 के तहत) लेकिन यह बहुत धीमा है।sshfs पर गिट का उपयोग करना बहुत धीमा है

हर बार जब मैं दूरस्थ सर्वर में लॉग इन करता हूं, तो गिट कमांड का उपयोग करने के लिए।

मैंने इस पोस्ट को आजमाया, http://kerneltrap.org/mailarchive/git/2008/10/23/3768494 हालांकि यह काम नहीं करता है।

क्या किसी को भी कोई अच्छा विचार पता है?

+3

क्यों न केवल अपनी स्थानीय मशीन पर रेपो क्लोन करें? –

+1

Thanx टिप्पणी! हां, ज़ाहिर है कि मेरी स्थानीय मशीन पर क्लोन करना संभव है। लेकिन रिमोट सर्वर में बहुत ही जटिल वातावरण है, और इसे हर स्थानीय मशीन बनाना वाकई मुश्किल है। तो sshfs सबकुछ ठीक है लेकिन केवल 'गिट कमांड' एक समस्या है। – banyan

+0

मेरे पास एक ही समस्या है, लेकिन मैंने ऐप्पलॉक (मैक से भी) का उपयोग करने की कोशिश की। लेकिन मेरे पास इस सेटअप के साथ बहुत सारे अजीब मुद्दे हैं ... :(मैंने भी rsync सिंक्रनाइज़ेशन के बारे में सोचा ... क्या आपको अपनी समस्या का समाधान मिला है? यदि ऐसा है तो मैं खुश से अधिक होगा, अगर आप इसे साझा करेंगे । – aurora

उत्तर

1

अगर मैं इसे सही ढंग से समझ गया तो आप सीधे sshfs पर गिट रिपॉजिटरी तक पहुंच रहे हैं।

गिट का पूरा बिंदु वितरित किया जा रहा है और चारों ओर धक्का/खींचने में सक्षम है, तो आप स्थानीय एफएस में रेपो को क्यों क्लोन नहीं करते हैं? याद रखें कि गिट क्लोन एक फाइल सिस्टम से भी काम करता है, आपको "नेटवर्क" (एसएसएच, http, गिट, आदि ...) भंडार से क्लोन करने की आवश्यकता नहीं है।

$ git clone /my_sshfs_mountpoint/repo 

और आप झूमने के लिए तैयार कर रहे हैं। जब आप पूरा कर लें तो बस अपने काम को git push पर याद रखें।

+0

जैसा कि मैंने ऊपर बताया है, मेरे स्थानीय मशीन पर क्लोन करना संभव है। लेकिन रिमोट सर्वर में बहुत ही जटिल वातावरण है, और इसे हर स्थानीय मशीन बनाना वाकई मुश्किल है। तो sshfs सबकुछ ठीक है लेकिन केवल गिट कमांड गति एक समस्या है। धन्यवाद। – banyan

+0

यदि आप sshfs-mount कर सकते हैं तो आप गिट क्लोन भी चला सकते हैं - मुझे समझ में नहीं आता कि समस्या कहां है। वैसे भी, यह आपकी गति समस्याओं का समाधान है, इसलिए आपको दो में से एक का उपयोग करना चाहिए: क्लोन या धैर्य। – Luke404

+0

@kyanny मुझे अभी भी लगता है कि आप गिट का दुरुपयोग कर रहे हैं। यह एक वितरित प्रणाली है और आप इसे "स्थानीय रूप से" (एसएसएफएफ के साथ रिमोट एफएस को घुमाने और फिर उस पर गिट चलाने के लिए जोर देते हैं): इसमें कोई आश्चर्य की बात नहीं है कि यह अच्छी तरह से काम नहीं करता है। जब/जहां आपके संपादन दिखाई देते हैं तो एक और कहानी है, गिट है केवल संस्करण नियंत्रण से संबंधित है। यदि आप "तत्काल दूरस्थ संपादन" चाहते हैं, तो sshfs पर संपादित करें और उस दूरस्थ गेट के बाद रिमोट सिस्टम पर (स्थानीय रूप से sshfs पर नहीं)। – Luke404

19

आप कुछ अन्य फाइल सिस्टम चुन सकते हैं। एसएसएचएफएस मुख्य रूप से एक सुविधा उपकरण है। मैकोज़ समर्थन एनएफएस माउंट्स, उदाहरण के लिए, और यह तेज़ है।

आगे जाने का एक और तरीका rsync या unison ('दो-तरफा rsync' टूल) का उपयोग करना होगा। ये रिमोट और स्थानीय फाइल सिस्टम के बीच वास्तव में त्वरित सिंक करते हैं। संकलित/दूरस्थ रूप से चलाने के लिए कुछ त्वरित खोल उपनामों के साथ मिलकर, यह एक अच्छा कामकाज है।

एक और तरीका वीएनसी/एक्स 11 पर अपने विकास पर्यावरण को दूरस्थ रूप से चलाने के लिए होगा। यह आईडीई को कुछ और सुस्त बनाता है, लेकिन कोड को सिंक करने की आवश्यकता नहीं है।

उपरोक्त का मिश्रण निकालना सर्वर का वर्चुअल मशीन क्लोन बनाना है, इसे अपने स्थानीय बॉक्स पर चलाएं, और दोनों के बीच वीएम या कुछ स्थानीय एनएफएस के माध्यम से फ़ोल्डर साझा करें।

आप sshfs को भी tweak कर सकते हैं। कुछ ट्यूनिंग माउंट विकल्प हैं, और आप एन्क्रिप्शन भी बंद कर सकते हैं। यह कुल मिलाकर लगभग 2x गति देता है, इसलिए आश्चर्य की उम्मीद न करें।

पोस्टर के समान जूते में होने के नाते, मैंने वर्षों से समाधान की तलाश की है, लेकिन ऐसा करने में असफल रहा है, मैंने अनजाने में सशक्त एसएसएफएस के साथ बसने के साथ, कभी-कभी rsyncs और धैर्य के साथ बस गए हैं।

+0

धन्यवाद उपयोगकर्ता 4 9 375 9 मुझे काफी दृढ़ उत्तर दे रहा है। मैंने कभी दो तरह के rsync उपकरण, और sshfs के एन्क्रिप्शन के रूप में भी जाना नहीं है। मैं इन दोनों को आजमाउंगा। – banyan

+2

विशेष रूप से कोई विचार इतना गिट क्यों धीमा है? बाकी सबकुछ ठीक लगता है, लेकिन 'गिट स्टेटस' असहनीय है। –

+6

सीज़र: क्योंकि गिट स्थिति रेपो के साथ सभी चेक आउट फ़ाइलों की तुलना करती है ताकि यह देखने के लिए कि क्या परिवर्तन हुए हैं या नहीं। यह बहुत छोटा आईओ है, जो कि उच्च विलंबता के कारण एसएसएफएफ वास्तव में खराब है। –

7

मुझे पता है कि यह बहुत पुराना है लेकिन मैं प्रतिदिन इस समस्या में भाग लेता हूं। मेरे पास एक बहुत ही जटिल वातावरण है जो स्थानीय रूप से पुनर्निर्मित करने के लिए लगभग असंभव/लंबा होगा। हमारे पास हर जगह चीजें हैं और तृतीय पक्ष एपीआई सीपीनल एपीआई आदि के साथ काम कर रहे हैं

मेरे लिए काम करने वाला एकमात्र समाधान एसएसएफएफ पर स्थानीय रूप से फ़ाइलों पर माउंट करना और काम करना है, लेकिन जब यह गिट करने का समय है तो मेरे पास टर्मिनल विंडो खुलती है जो बस है ssh'd में और यह मेरे लिए काम करता है। क्या कोई कारण है कि आप टर्मिनल खोलना नहीं चाहते हैं? अन्यथा यह सबसे तेज़ समाधान और मेरे लिए सबसे विश्वसनीय लगता है।

+0

यह भी है कि मैं इसे कैसे करता हूं। 'Sshfs' माउंट पॉइंट में केवल एक चीज मैं' पुल 'है। बाकी मैं एक अलग 'एसएसएच' सत्र में करता हूं, ताकि लक्षित स्थानीय गिट कमांड चलाए, न कि लक्ष्य की फाइल सिस्टम पर स्थानीय होस्ट गिट। – Gauthier

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