दिलचस्प पोस्ट
बाइट जावा में फाइल करने के लिए 'स्थानीय होस्ट' (10061) पर MySQL सर्वर से कनेक्ट नहीं किया जा सकता दृश्य स्टूडियो 2010 में सीयूडीए संकलक झंडे कैसे सेट करें? Raw_input का व्यवहार () गतिशील_कास्ट का प्रदर्शन? दशमलव संख्या के नियमित अभिव्यक्ति, जहां दशमलव के बाद अंक वैकल्पिक है चुनें बदलाव की घटना पर – Html.DropDownListFor एंड्रॉइड में पॉपअप विंडो कैसे बनाएं? टर्नरी या टर्नरी के लिए नहीं? मैं jQuery के चयनकर्ता की अभिव्यक्ति को पाठ के रूप में कैसे प्राप्त करूं? एंड्रॉइड एक्सपेंडेबललिस्टव्यू और एसक्यूलाइट डाटाबेस WPF में वैश्विक हॉटकी प्रत्येक विंडो से काम कर रहा है कैसे जावा प्रोग्राम मुख्य विधि को परिभाषित किए बिना चलाते हैं? किसी प्रक्रिया के लिए पर्यावरण चर सेट करें ब्लैकबेरी – एनीमेशन के साथ स्क्रीन लोड हो रहा है / रुको

गिट / बैश विंडोज 7 एक्स 64 में बहुत धीमी है

मैं एक छोटे से प्रोजेक्ट के विकास के दौरान दोनों विंडोज और उबंटू पर जीआईटी का प्रयोग कर रहा हूं, जो अक्सर दो के बीच आगे बढ़ता रहता है। मुझे जो मुद्दा आ रहा है वह है कि जीआईटी / बैश लगातार धीमे हो जाते हैं जब मैं धीमा कहता हूं, मेरा मतलब है कि चलने वाला cd 8-25 सेकंड से कहीं भी ले जाता है, चल रहे git कमांड्स को 5-20 सेकेंड से ले जाता है, और ls 30 सेकंड तक का समय ले सकता है। कहने की ज़रूरत नहीं है, यह मजेदार नहीं है, न कि अनुत्पादक का उल्लेख करने के लिए। मुझे पता है कि गिट विंडोज पर धीमी है, लेकिन यह हास्यास्पद है।

एक समाधान जो काम किया है – अस्थायी रूप से – मेरे लिए मेरे नेटवर्क कनेक्शन को निष्क्रिय करने ( इस उत्तर में सुझाए गए) को अक्षम करने के लिए, जीआईटी शुरू करें, और फिर पुन: कनेक्ट करें। कभी-कभी यह ऐसा करने के बाद जल्दी से चलने के लिए जारी रहता है, लेकिन प्रदर्शन हमेशा अंततः अपमानित होता है मैंने msysgit चर्चा समूह, SO, msysgit इश्यू सूची, आदि के माध्यम से कई हफ्तों के लिए और बंद कर दिया है, लेकिन मैं उन कामों को हल करने में सक्षम नहीं हूं जो काम करते हैं।

अब तक, मैंने कोशिश की है:

  • जीआईटी और परियोजना फ़ोल्डरों को वायरस स्कैनर की बहिष्करण सूची में जोड़ना
  • पूरी तरह से मेरे वायरस स्कैनर को अक्षम करना (कैस्पेर्सकी IS 2011)
  • सुनिश्चित करना कि Outlook नहीं चल रहा है (Outlook 2007)
  • अन्य सभी अनुप्रयोगों को बंद करना
  • व्यवस्थापक के रूप में चल रहा है git
  • नेटवर्क कनेक्शन को अक्षम करना, जीआईटी शुरू करना, और कनेक्शन को निष्क्रिय करना
  • नेटवर्क कनेक्शन को अक्षम करना, जीआईटी शुरू करना, कनेक्शन पुनः सक्षम करना (केवल कभी-कभी काम करता है)
  • जीआईटी जीसी चल रहा है
  • और ऊपर के संयोजन

मैंने पढ़ा था कि कुछ लोगों को सफलतापूर्वक बाश पूरा करने में सफलता मिली, लेकिन आदर्श रूप से मैं उस सक्रिय को रखना चाहता हूं। Msysgit का संस्करण 1.7.3.1-पूर्वावलोकन20101002 है और ओएस विंडोज 7 x 64 है। लिनक्स पर एक ही चीज़ चलाना, भविष्य में, बिजली तेज है मैं विशेष रूप से लिनक्स का उपयोग करता हूं, लेकिन मुझे विंडोज़ में भी सामान चलाने की ज़रूरत है, खासकर (कुछ ऐप्स, परीक्षण आदि)।

किसी को भी इसी तरह की समस्या का सामना करना पड़ा है? यदि हां, तो अंतर्निहित समस्या क्या थी और समाधान क्या था (यदि कोई है)?

संपादित करें: यह सिर्फ जीआईटी रिपॉजिटरी से परे है, लेकिन सिर्फ संदर्भ के लिए, मैं जीआईटी का प्रयोग कर रहा हूं, जो बहुत कम है: ~ 4-50 फाइल अधिकतम

Solutions Collecting From Web of "गिट / बैश विंडोज 7 एक्स 64 में बहुत धीमी है"

आप कुछ कॉन्फ़िगर विकल्पों को सेट करने के लिए तीन आज्ञाओं को चलाकर Windows पर git को काफी तेज कर सकते हैं:

 $ git config --global core.preloadindex true $ git config --global core.fscache true $ git config --global gc.auto 256 

टिप्पणियाँ:

  • core.preloadindex लेटेंसी को छुपाने के लिए समानांतर में फाइलसिस्टम संचालन करता है (अपडेट: git 2.1 में डिफ़ॉल्ट रूप से सक्षम)

  • core.fscache यूएसी मुद्दों को ठीक करता है ताकि आपको जीआईटी को व्यवस्थापक के रूप में चलाने की आवश्यकता न हो (अद्यतन: विंडोज़ 2.8 के लिए जीआईटी में डिफ़ॉल्ट रूप से सक्षम)

  • gc.auto कम से कम फाइलों की संख्या।

क्या आपके पास अपने बैश प्रॉम्प्ट में गिट जानकारी है? यदि हां, तो हो सकता है कि आप अनजाने में प्रत्येक आदेश पर बहुत काम कर रहे हैं इस सिद्धांत का परीक्षण करने के लिए बाश में निम्नलिखित अस्थायी परिवर्तन की कोशिश करें:

 export PS1='$' 

मेरी Windows होम निर्देशिका नेटवर्क पर है, और मुझे संदेह है कि Git Bash आज्ञाएं पहले वहाँ देख रहे थे बेशक, जब मैंने $ पैथ को देखा, तो यह पहली सूचीबद्ध / एच / बिन करता था, जहां / एच एक विंडोज़ फ़ाइल सर्वर पर एक शेयर है, भले ही / h / bin मौजूद नहीं है। मैंने / etc / profile को संपादित किया है और निर्यात कमांड टिप्पणी की है जो इसे पहले पैड में डालता है:

 #export PATH="$HOME/bin:$PATH" 

यह मेरे आदेशों को बहुत तेज चला, संभवतः क्योंकि गिट बैश अब निष्पादन के लिए नेटवर्क पर नहीं देख रहा है। मेरी / etc / प्रोफ़ाइल c: \ Program Files (x86) \ Git \ etc \ profile।

हालांकि आपकी समस्या नेटवर्क आधारित हो सकती है, मैंने व्यक्तिगत तौर पर अपना स्थानीय git status स्टेटिस दो बार संशोधित करके दस गुना (7+ सेकंड डाउन 700ms) कॉल किया है यह 2100 फाइलों और अत्यधिक बड़ी द्विआधारी फ़ाइलों के साथ 700mb रेपो पर है।

एक समानांतर सूचकांक प्रीललोड को सक्षम कर रहा है कमांड प्रॉम्प्ट से:
git config core.preloadindex true
यह 7 सेकंड से लेकर 2.5 सेकंड तक का time git status बदल गया है।

अद्यतन करें!

निम्नलिखित कोई आवश्यक नहीं है पैच ने मैसेसिगिट 1.9.4 के रूप में इसे तय किया है
https://github.com/msysgit/git/commit/64d63240762df22e92b287b145d75a0d68a66988
हालांकि, आपको टाइपिंग द्वारा ठीक करना सक्षम होना चाहिए
git config core.fscache true

मैंने भी यूएसी और "लाउफव" ड्राइवर (रिबूट की आवश्यकता) को अक्षम कर दिया है। यह विंडोज़ विस्टा, 7 और 8 में एक ड्राइवर को अक्षम करता है जो सिस्टम स्थानों पर लिखने के लिए प्रोग्राम को रीडायरेक्ट करता है और इसके बदले उपयोगकर्ता निर्देशिका में उन एक्सेस को रीडायरेक्ट करता है।

यह प्रभाव कैसे गिट प्रदर्शन पर चर्चा देखने के लिए, यहां पढ़ें: https://code.google.com/p/msysgit/issues/detail?id=320

इस चालक को अक्षम करने के लिए, regedit में, ड्राइवर को अक्षम करने के लिए "प्रारंभ" कुंजी को HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafv पर HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafv । इसके बाद, यूएसी को अपनी सबसे कम सेटिंग में डाल दें, "कभी भी सूचित नहीं करें"

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

इस बदलाव को 2.5 सेकंड से लेकर 0.7 सेकेंड तक का time git status मिलता है।

आप Windows के गति संबंधी मुद्दों के लिए अतिरिक्त काम चल रहे हैं यह जानने के लिए https://github.com/msysgit/git/pull/94 और https://github.com/git/git/commit/d637d1b9a8fb765a8542e69bd2e04b3e229f663b का पालन करना भी हो सकता है ।

मुझे पता चला कि नेटवर्क ड्राइव प्रदर्शन समस्या थी। HOME धीमी नेटवर्क शेयर की ओर इशारा करता था। मैं HOMEDRIVE ओवरराइड नहीं कर सका, लेकिन यह मैंने जो देखा है उससे कोई समस्या नहीं है।

अपने कंप्यूटर पर डेस्कटॉप पर क्लिक करके पर्यावरण चर सेट करें -> गुण -> उन्नत सिस्टम सेटिंग्स -> पर्यावरण चर उपयोगकर्ता चर में जोड़ें अनुभाग

 HOME=%USERPROFILE% 

क्रिस डोलन के उत्तर के विस्तार में, मैंने निम्नलिखित वैकल्पिक पीएस 1 सेटिंग का इस्तेमाल किया। बस अपने ~ / .profile पर कोड खंड जोड़ें (Win7: c: /Users/USERNAME/.profile पर)।

 fast_git_ps1 () { printf -- "$(git branch 2>/dev/null | sed -ne '/^\* / s/^\* \(.*\)/ [\1] / p')" } PS1='\[\033]0;$MSYSTEM:\w\007 \033[32m\]\u@\h \[\033[33m\w$(fast_git_ps1)\033[0m\] $ ' 

यह एक रंगीन खोल के लाभ को बरकरार रखता है और वर्तमान शाखा का नाम (अगर जीआईटी रेपो में) का प्रदर्शन बरकरार रखता है, लेकिन मेरी मशीन पर ~ 0.75 से लेकर 0.1 एस तक काफी तेज है।

इस ब्लॉग के आधार पर

ऐसा प्रतीत होता है कि पूरी तरह से Git की स्थापना रद्द करना, (क्लासिक विंडोज इलाज) को पुनरारंभ करना, और गिट को पुनर्स्थापित करना इसका इलाज था मैंने भी सभी बाश कॉन्फ़िग फाइलों को मिटा दिया जो कि छोड़ दिया गया था (वे मैन्युअल रूप से बनाए गए थे)। सब कुछ तेजी से फिर से है

अगर कुछ कारणों से पुनर्स्थापना संभव नहीं है (या वांछनीय), तो मैं निश्चित रूप से क्रिस डोलन के जवाब में संदर्भित PS1 चर को बदलने का प्रयास करेगा; यह कुछ आपरेशनों में महत्वपूर्ण गतियों के परिणामस्वरूप

मैंने कोर के रूप में सही के रूप में preloadindex सेट करके एक सभ्य सुधार देखा।

मैंने सीएमडी.एक्सए द्वारा "प्रशासक के रूप में चलाएँ" के साथ शुरू करने पर विन 7 x 64 पर मेरी धीमी जीआईटी समस्या हल की।

मुझे पता है यह पुराना है, लेकिन मुझे एक ही समस्या थी, गीथ बाश और गीट गुइ दोनों में दोनों कार्यक्रम अच्छी तरह से चलने के लिए उपयोग करते हैं, लेकिन फिर वे बेतरतीब ढंग से एक क्रॉल के लिए धीमा हो गए, और मैं समझ नहीं पाया कि क्यों जैसा कि यह पता चला है, यह अवास्ट था। अवास्ट ने अजीब बातें विभिन्न कार्यक्रमों (मेरे द्वारा लिखे गए कार्यक्रमों सहित) होने का कारण बना दिया है, इसलिए मैंने इसे एक दूसरे के लिए अक्षम कर दिया, और यह सुनिश्चित करने के लिए पर्याप्त है कि, बाश अब लिनक्स पर जितनी तेजी से चलता है। मैं बस अवास्ट बहिष्करण सूची में गिट प्रोग्राम फ़ाइलें फ़ोल्डर (सी: \ प्रोग्राम फ़ाइलें \ गीट) को जोड़ा है, और अब यह लिनक्स पर जितनी तेज़ी से चलती है

और हां, मुझे एहसास है कि मूल पोस्ट में एंटी-वायरस मुद्दा नहीं था, लेकिन मैं इसे यहां रखता हूं यदि यह किसी के लिए उपयोगी है

जैसा कि क्रिस डोलन और विल्बर के उत्तर में बताया गया है, PS1 आपको धीमा कर देता है

पूरी तरह से निष्क्रिय होने के बजाय (डोलन द्वारा सुझाए गए) या विल्बर द्वारा दी गई स्क्रिप्ट का उपयोग करने के बजाय, मैं "गूंगा पीएस 1" का उपयोग करता हूं जो कि बहुत तेज है।

यह उपयोग करता है (git symbolic-ref -q HEAD || git rev-parse --short HEAD) 2> /dev/null :

 PS1='\033[33m\]\w \n\[\033[32m\]$((git symbolic-ref -q HEAD || git rev-parse -q --short HEAD) 2> /dev/null) \[\033[00m\]# ' 

मेरे साइगिइन पर, यह विल्बर्ट के "फास्ट_जीट_पीएस 1" उत्तर से 20000 बनाम 400 एमएमएस की तुलना में तेज़ है, इसलिए यह आपके शीघ्र सुस्तता से थोड़े से बचाता है

यह __git_ps1 रूप में परिष्कृत नहीं है – उदाहरण के लिए, जब आप .git निर्देशिका में सीडी दर्ज करते हैं, तो __git_ps1 नहीं बदलते हैं, लेकिन सामान्य रोज इस्तेमाल के लिए यह काफी अच्छा और तेज़ है

जीआईटी 1.7.9 पर परीक्षण (साइगविन, लेकिन किसी भी प्लेटफ़ॉर्म पर काम करना चाहिए)

मुझे Windows (msysgit) के लिए Windows 7 x 64 पर एक सीमित उपयोगकर्ता खाते के रूप में कुछ समय से चलने वाली एक ही समस्या का सामना करना पड़ा है मैंने यहां और अन्य जगहों से क्या पढ़ा है, सामान्य विषय प्रशासनिक विशेषाधिकारों और / या यूएसी की कमी है। चूंकि यूएसी मेरे सिस्टम पर बंद है, यह स्पष्टीकरण है कि वह प्रोग्राम फाइल निर्देशिका में कुछ लिखने / हटाने की कोशिश कर रहा है, मुझे सबसे अधिक समझ में आता है

किसी भी मामले में, मैं ज़िप त्रुटि के साथ git 1.8 के पोर्टेबल संस्करण को स्थापित करके मेरी समस्या का समाधान किया है। ध्यान दें कि मुझे .7z वितरण फ़ाइल को खोलना पड़ा और ज़िप इंस्टॉलर को काम करने के लिए इसे ज़िप के रूप में दोबारा करना था। मुझे मैन्युअल रूप से उस निर्देशिका को अपने सिस्टम पथ में जोड़ना था।

प्रदर्शन अब ठीक है यद्यपि यह प्रोग्राम फाइल (x86) निर्देशिका में स्थापित है, जिसके लिए मेरे पास सीमित उपयोगकर्ता के लिए अनुमति नहीं है, ऐसा लगता है कि एक ही समस्या से ग्रस्त नहीं है। मैं इसे इस तथ्य के रूप में मानता हूं कि पोर्टेबल संस्करण थोड़ी अधिक रूढ़िवादी है जहां वह फाइलें / हटाता है, जो शायद मामला है, या 1.7 से 1.8 के उन्नयन के लिए है। मैं नीचे पिन करने की कोशिश नहीं कर रहा हूं जो कि एक कारण है, यह कहने के लिए पर्याप्त है कि यह अब बेहतर काम करता है, जिसमें बाश भी शामिल है।

मेरे मामले में, यह वास्तव में अवास्ट एंटीवायरस था जो कि जीआईटी बैश के लिए अग्रणी था और यहां तक ​​कि पॉवरहेल वास्तव में धीमा हो गया था।

मैंने पहले 10 मिनट के लिए अवास्ट को अक्षम करने की कोशिश की, यह देखने के लिए कि क्या यह गति में सुधार हुआ है और यह किया है। बाद में, मैंने संपूर्ण जीआईटी बैश स्थापना निर्देशिका को अवास्ट में एक अपवाद के रूप में जोड़ा, पढ़ने, लिखना और निष्पादन के लिए। मेरे मामले में यह C:\Program Files\Git\*

निम्नलिखित जीआईटी कॉन्फ़िगरेशन को बदलकर आपको बहुत ही सब्सक्राइंस प्रदर्शन को बढ़ावा मिलेगा:

 git config --global status.submoduleSummary false 

विंडो 7 x 64 पर सरल git status कमांड चलाने पर, यह चलाने के लिए 30 सेकंड से अधिक समय तक मेरा कंप्यूटर चला। इस विकल्प को परिभाषित करने के बाद, कमांड तत्काल है।

निम्नलिखित पृष्ठ में समझाए गए गिट के स्वयं के अनुरेखण को सक्रिय करने से मुझे समस्या की उत्पत्ति मिली, जो आपकी स्थापना में भिन्न हो सकती है: https://github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so- धीमा

संयुक्त उत्तर:

  1. विल्बर्ट – पीएस 1 में शामिल करने के लिए क्या जानकारी है
  2. सिनालॉ – (<branch_name>) या (<sha>)
 # https://unix.stackexchange.com/questions/140610/using-variables-to-store-terminal-color-codes-for-ps1/140618#140618 # https://unix.stackexchange.com/questions/124407/what-color-codes-can-i-use-in-my-ps1-prompt # \033 is the same as \e # 0;32 is the same as 32 CYAN="$(echo -e "\e[1;36m")" GREEN="$(echo -e "\e[32m")" YELLOW="$(echo -e "\e[33m")" RESET="$(echo -e "\e[0m")" # https://stackoverflow.com/questions/4485059/git-bash-is-extremely-slow-in-windows-7-x64/19500237#19500237 # https://stackoverflow.com/questions/4485059/git-bash-is-extremely-slow-in-windows-7-x64/13476961#13476961 # https://stackoverflow.com/questions/39518124/check-if-directory-is-git-repository-without-having-to-cd-into-it/39518382#39518382 fast_git_ps1 () { git -C . rev-parse 2>/dev/null && echo " ($((git symbolic-ref --short -q HEAD || git rev-parse -q --short HEAD) 2> /dev/null))" } # you need \] at the end for colors # Don't set \[ at the beginning or ctrl+up for history will work strangely PS1='${GREEN}\u@\h ${YELLOW}\w${CYAN}$(fast_git_ps1)${RESET}\] $ ' 

परिणाम:

यहां छवि विवरण दर्ज करें

यदि आप सीआईएमडी से जीआईटी का उपयोग करते हैं, तो इसे जीआईटी बैश से चलाने का प्रयास करें। सीएमडी में, git.exe वास्तव में एक आवरण है जो हर बार जब आप इसे शुरू करते हैं तो सही वातावरण सेट करते हैं, और उसके बाद ही वास्तविक git.exe लॉन्च करता है। मैं जितना अधिक समय ले सकता हूं, उतना ही ज़रूरी है जितना कि आप जो करना चाहते हैं उसे करना चाहिए। और गीट बैश ने पर्यावरण को केवल तभी शुरू किया जब वह शुरू होता है।

मैं भी जीआईटी PS1 धीमापन के साथ मुद्दा था, एक लंबे समय के लिए, मैं सोच रहा था कि यह एक डीबी आकार की समस्या है (बड़ी रेपो), और कई जीआईटी जीसी ट्रिक्स की कोशिश कर रहा था, और अन्य कारणों की तलाश कर रही थी, जैसे आप भी। हालांकि, मेरे मामले में, समस्या यह पंक्ति थी:

 function ps1_gitify { status=$(git status 2>/dev/null ) # <-------------------- if [[ $status =~ "fatal: Not a git repository" ]] then echo "" else echo "$(ps1_git_branch_name) $(ps1_git_get_sha)" fi } 

तो हर कमांड लाइन स्टेटस लाइन के लिए जीआईटी स्थिति धीमी थी। आउच। यह कुछ मैंने हाथ से लिखा था मैंने देखा कि जब मैंने कोशिश की तो समस्या थी

 export PS1='$' 

जैसा कि यहां एक उत्तर में उल्लिखित है। कमांड लाइन तेजी से बिजली थी

अब मैं इसका उपयोग कर रहा हूं:

 function we_are_in_git_work_tree { git rev-parse --is-inside-work-tree &> /dev/null } function ps1_gitify { if ! we_are_in_git_work_tree then ... 

इस से तो https://stackoverflow.com/a/11975827/2492808 और यह ठीक काम करता है। दोबारा फास्ट जीआईटी कमांड लाइन है

मेरे मामले में, git bash शॉर्टकट Start in:%HOMEDRIVE%%HOMEPATH% करने के लिए सेट किया गया था Start in:%HOMEDRIVE%%HOMEPATH% (आप इसे सही पर क्लिक करके git bash क्लिक करके और गुणों को चुन सकते हैं) यह नेटवर्क ड्राइव था

इसका समाधान यह %HOME% इंगित करना है यदि आपके पास यह नहीं है, तो आप इसे पर्यावरण चर में सेट कर सकते हैं और अब git bash को बिजली तेज होना चाहिए

मैं पार्टी में वास्तव में देर कर रहा हूँ, मुझे पता है …

… लेकिन: मेरा एक सह-कार्यकर्ता विंडोज़ (7) git status checkout पर जीआईटी के साथ परेशान था और तेजी से add गया था, लेकिन git commit ने आयु ले ली।

हम अभी भी इसके मूल कारण को खोजने की कोशिश कर रहे हैं, लेकिन एक नए फ़ोल्डर में रेपो को क्लोन करने से उसकी समस्या ठीक हो गई है। सोचा कि मैं इसे यहां जोड़ूंगा, अगर किसी और के पास एक ही समस्या है और अभी भी एक समाधान की तलाश है