উইন্ডোজ 7 x64 এ গিট বাশ অত্যন্ত ধীর গতির


435

আমি একটি ছোট প্রকল্পের বিকাশের সময় উইন্ডোজ এবং উবুন্টু উভয়কেই গিট ব্যবহার করে যাচ্ছিলাম, প্রায়শই দুজনের মাঝে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে পিছনে li বিষয়টি হ'ল গিট বাশ ধারাবাহিকভাবে ধীর হয়ে যায়।

আমি যখন ধীর বলি, এর অর্থ আমি দৌড়ানো cd8-25 সেকেন্ড থেকে যে কোনও জায়গায় সময় নেয়, চলমান gitকমান্ডগুলি 5-20 সেকেন্ডের থেকে লাগে lsএবং কখনও কখনও 30 সেকেন্ড পর্যন্ত সময় নিতে পারে। বলাই বাহুল্য, এটি মজাদার নয়, অনুৎজাতীয় উল্লেখ না করে। আমি জানি উইন্ডোতে গিট ধীর গতির, তবে এটি হাস্যকর।

একটি সমাধান যা অস্থায়ীভাবে - আমার জন্য কাজ করেছে তা আমার নেটওয়ার্ক সংযোগটি ( এই উত্তরে প্রস্তাবিত হিসাবে ) অক্ষম করা , গিট ব্যাশ শুরু করা এবং তারপরে পুনরায় সংযোগ স্থাপন করা হয়েছে। কখনও কখনও এটি করার পরে কয়েক দিন ধরে দ্রুত চলতে থাকে, তবে কর্মক্ষমতা সর্বদা অবশেষে অবনমিত হয়। আমি এমএসএসজিট আলোচনা গোষ্ঠী, স্ট্যাক ওভারফ্লো, এমএসজিগিত ইস্যু তালিকা ইত্যাদির উপর দিয়ে কয়েক সপ্তাহ ধরে ট্রল করে এসেছি, তবে কোনটি সমাধান করে তা সমাধান করতে পারিনি।

এখনও পর্যন্ত, আমি চেষ্টা করেছি:

  • গিট ও প্রকল্প ফোল্ডারগুলি ভাইরাস স্ক্যানারের বর্জন তালিকায় যুক্ত করা হচ্ছে
  • আমার ভাইরাস স্ক্যানার সম্পূর্ণরূপে অক্ষম করা হচ্ছে (ক্যাসপারস্কি আইএস 2011)
  • আউটলুক চলছে না তা নিশ্চিত করা (আউটলুক 2007)
  • অন্যান্য সমস্ত অ্যাপ্লিকেশন বন্ধ করা হচ্ছে
  • প্রশাসক হিসাবে গিট ব্যাশ চালাচ্ছেন
  • নেটওয়ার্ক সংযোগ অক্ষম করা, গিট ব্যাশ শুরু করা এবং সংযোগ অক্ষম রাখা
  • নেটওয়ার্ক সংযোগ অক্ষম করা, গিট ব্যাশ শুরু করা, সংযোগটি পুনরায় সক্ষম করা (কেবলমাত্র মাঝে মধ্যে কাজ করে)
  • চলমান git gc
  • এবং উপরের সংমিশ্রণগুলি

আমি পড়েছি যে কয়েকজন লোকের বাশ সমাপ্তি অক্ষম করার ক্ষেত্রে সাফল্য পেয়েছিল, তবে আদর্শিকভাবে আমি এটিকে সক্রিয় রাখতে চাই। এমএসজিগিতটির সংস্করণটি 1.7.3.1-প্রাকদর্শন 20101002 এবং ওএসটি উইন্ডোজ 7 x64। লিনাক্সে একই জিনিস চালানো সম্ভবত পূর্বে বজ্রপাতের কাজ। আমি একচেটিয়াভাবে লিনাক্স ব্যবহার করব, তবে আমার উইন্ডোতেও (কিছু নির্দিষ্ট অ্যাপ্লিকেশন, পরীক্ষা ইত্যাদি) চালানো দরকার।

কেউ কি একই ধরনের সমস্যার মুখোমুখি হয়েছেন? যদি তা হয় তবে অন্তর্নিহিত সমস্যাটি কী ছিল এবং এর সমাধান কী ছিল (যদি থাকে)?

এটি কেবল গিট সংগ্রহস্থলের বাইরেও প্রসারিত, তবে কেবলমাত্র রেফারেন্সের জন্য, আমি গিটের সাথে যে রিপোজিটরিগুলি ব্যবহার করছি সেগুলি বেশ ছোট ছিল: maximum 4-50 ফাইল সর্বাধিক।


1
আপনাকে নিরুৎসাহিত করার জন্য নয় তবে সাইগউইন x64-এ খুব ধীর গতির, আপনি এটি উইন্ডোজ এক্সপি 32 বিট এ আরও ভাল করে দেখুন।
ইসমাইল 21


5
একই সিস্টেমে, এটি অর্ধ বছর আগে ধীর ছিল না। তারা অবশ্যই কিছু পরিবর্তন করেছে ...
টোম জ্যাটো - মনিকা

2
কার্যত এখানে সমস্ত মেশিনে: ক্যাস্পারস্কি এভি ব্যাপকভাবে গিটকে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে নামিয়ে দেয় এবং ক্যাসপারস্কি ভেঙে যায়, অ্যাভিপি.এক্সই এখনও সম্পূর্ণরূপে বেরিয়ে আসার পরে চলে। ক্যাস্পস্কি সম্পূর্ণরূপে পুনরায় ইনস্টল করা সাধারণত পরবর্তী সমস্যাগুলি সমাধান করে।
পিটারচেন

2
এমএসজিগিতের উইকি পৃষ্ঠাটি এটি দেখুন: github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so-slow
ড্রু নোকস

উত্তর:


409

কিছু কনফিগার বিকল্প নির্ধারণ করতে আপনি তিনটি কমান্ড চালিয়ে উইন্ডোজে গিটকে উল্লেখযোগ্যভাবে গতি বাড়িয়ে দিতে পারেন:

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

মন্তব্য:

  • core.preloadindex বিলম্বতা আড়াল করার সমান্তরালে ফাইল সিস্টেম অপারেশন করে (আপডেট: গিট ২.১ এ ডিফল্টরূপে সক্ষম করা হয়েছে)

  • core.fscache ইউএসি সমস্যা সমাধান করে যাতে আপনাকে গিট প্রশাসক হিসাবে চালানোর দরকার নেই (আপডেট: উইন্ডোজ ২.৮ এর জন্য গিতে ডিফল্টরূপে সক্ষম করা হয়েছে)

  • gc.auto .git / এ ফাইলের সংখ্যা হ্রাস করে


আমাকে সহায়তা করেনি, তবে নীচে উল্লিখিত PS1 = '$' রফতানি করতে সহায়তা করেছে। সুতরাং আমি জানি আমার জন্য সমস্যাটি টার্মিনাল লাইন।
কোশম্বর

67
2017 এ সম্পূর্ণরূপে অকেজো সেটিংস (গিট 2.12) কারণ এই সমস্ত জিনিস ডিফল্টরূপে সক্ষম করা হয়েছে। কিন্তু গিটটি এখনও ধোঁকের মতো ধীরে ধীরে কাজ করে।
অর্থাত্ 19

2
উইন্ডোজ 10 এও দুর্দান্ত কাজ করে। ভাল হয়েছে এবং এই @ শুয়েলজারের জন্য আপনাকে ধন্যবাদ!
জো

1
256-এ ফাইল সীমাবদ্ধ করা কিছু সমস্যার কারণ হতে পারে। এবং প্রথম দুটি বিকল্প ইতিমধ্যে গিটের নতুন সংস্করণগুলিতে সক্ষম হয়েছে।
nPcomp

@ সনিভিজিও কি ধরণের সমস্যা?
shoelzer

102

আপনার বাশ প্রম্পটে কী গিট তথ্য দেখাচ্ছে? যদি তা হয়, তবে আপনি অজান্তে প্রতিটি কমান্ডে খুব বেশি কাজ করছেন। এই তত্ত্বটি পরীক্ষা করতে নীচে বাশে নিম্নলিখিত অস্থায়ী পরিবর্তনের চেষ্টা করুন:

export PS1='$'

11
সমস্যাটি রয়েছে $(__git_ps1)... এটিকে সরিয়ে দেওয়া সবকিছুকে সুপারফাস্ট করে তোলে
হেন্ডি ইরাওয়ান

10
আমাদের মধ্যে অবিচ্ছিন্নতার জন্য, এই আদেশটি ঠিক কী করে? আপনি বলছেন যে এটি "অস্থায়ী", আমরা কীভাবে আদেশটি ফিরিয়ে দেব?
অমর নীল

5
আমার পারফরম্যান্সের সমস্যাগুলিও ঠিক করেছেন। স্থায়ীভাবে স্থির করতে, সম্পাদনা করুন C:\Program Files (x86\Git\etc\profileএবং অন্যথায় কোথায় __git_ps1যুক্ত করা হয়েছে তা যদি মন্তব্য করেন তবে তা মন্তব্য করুন PS1
টম

6
বর্তমান সংস্করণ ২.১18.০ এ আমি / ইত্যাদি / প্রোফাইলে __git_ps1 কমান্ডটি খুঁজে পাচ্ছি না। এটি অন্য কোথাও চলে গেছে?
কেইনাবেল

8
দেখে মনে হচ্ছে এটি সি: \ প্রোগ্রাম ফাইলগুলি it গিট \ ইত্যাদি \ প্রোফাইল.d \ git-prompt.sh এ চলে গেছে। আমি সেই ফাইলটিতে __git_ps1 মন্তব্য করেছি এবং এটি আরও দ্রুত চলে গেছে (তবে প্রম্পটে শাখার তথ্য হারিয়েছে)
মিয়াগি

85

আমার উইন্ডোজ হোম ডিরেক্টরিটি নেটওয়ার্কে রয়েছে এবং আমার সন্দেহ হয়েছিল যে গিট বাশ কমান্ডগুলি প্রথমে সেখানে খুঁজছিল। নিশ্চিতভাবেই, যখন আমি তাকালাম $PATH, এটি /h/binপ্রথমে তালিকাভুক্ত হয়েছিল , যেখানে /hএকটি উইন্ডোজ ফাইল সার্ভারে ভাগ /h/binনেই , যদিও বিদ্যমান নেই।
আমি /etc/profileরফতানি কমান্ড সম্পাদনা করেছি এবং মন্তব্য করেছি যা এটিকে প্রথমে রাখে $PATH:

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

এটি আমার কমান্ডগুলিকে আরও দ্রুত চালিত করে, সম্ভবত গিট ব্যাশ এক্সিকিউটেবলের জন্য নেটওয়ার্ক জুড়ে আর দেখেনি। আমার /etc/profileছিল c:\Program Files (x86)\Git\etc\profile


6
আমারও একই প্রশ্ন ছিল. আমি পরিবর্তন HOME="$(cd "$HOME" ; pwd)"করতে HOME="$(cd "$USERPROFILE" ; pwd)", এবং এখন সবকিছু blazingly দ্রুত। ভকভগক.
জন সাগারা

2
আমি এর একটি প্রকরণটি ব্যবহার করে সফল হয়েছি: প্রোফাইলে, $ হোমড্রাইভ রেফারেন্সটি সরিয়ে, $ হোম থেকে $ USERPROFILE জোর করে। গিট বাশ শর্টকাটের বৈশিষ্ট্যগুলিতে, "স্টার্ট ইন" কে% USERPROFILE%
এডান রায়ান

11
এটি আমার সমস্যাটি বেশিরভাগ অংশে স্থির করেছে, তবে গিটের সাথে কমপক্ষে ২.7.২ হিসাবে আমি /etc/profile.d/env.sh এ সরাসরি / ইত্যাদি / প্রোফাইল ফাইলের পরিবর্তে রফতানি করেছি।
জারেড সায়রিলা

15
অনেক ধন্যবাদ, আমার জন্য একই সমস্যা, তবে আমি এটি আমার পছন্দসই হোম ডিরেক্টরিটি নির্দেশ করে, হোম নামে একটি (ব্যবহারকারী) পরিবেশের ভেরিয়েবল তৈরি করে এটি ঠিক করেছি। যদি OME হোম উপস্থিত না থাকে, স্পষ্টতই গিট ব্যাশটি% USERPROFILE% এ ডিফল্ট হবে। এর পরে, গিট ব্যাশ দ্রুত বজ্রপাত করছে।
জেএইচএইচ

6
মন্তব্যে বর্ণিত এক @ জেএইচএইচ এর পক্ষে কাজ করেছিল একমাত্র বিকল্প। হোম নামে পরিচিত একটি উইন্ডোজ ব্যবহারকারী পরিবেশ পরিবর্তনশীল যুক্ত করুন এবং আপনার পছন্দসই হোম ডিরেক্টরিটি নির্ধারণ করুন। (কন্ট্রোল প্যানেল -> সিস্টেম -> উন্নত সিস্টেম সেটিংস -> পরিবেশে পরিবর্তনশীল)
রেনরেন

45

নেটওয়ার্ক ড্রাইভটি ছিল পারফরম্যান্স সমস্যা। HOMEধীরে ধীরে নেটওয়ার্ক শেয়ারের দিকে ইশারা করছিল। আমি ওভাররাইড করতে পারি না HOMEDRIVEতবে যা আমি দেখেছি তাতে সমস্যা নেই।

ডেস্কটপে আপনার কম্পিউটারে ডান ক্লিক করে পরিবেশের পরিবর্তনশীল সেট করুন -> বৈশিষ্ট্য -> উন্নত সিস্টেম সেটিংস -> পরিবেশের ভেরিয়েবলগুলি ব্যবহারকারী ভেরিয়েবল বিভাগে যুক্ত করুন

HOME=%USERPROFILE%

4
এটি কাজ করে। যার যার নেটওয়ার্ক সমস্যা রয়েছে তাদের জন্য এটিই আসল সমাধান। আপনার কোনও কনফিগার ফাইল এডিট করতে হবে না যেখানে কেবল হোম পয়েন্টটি হওয়া উচিত।
কার্লোস কলা

1
এনভ ব্যবহারকারী ব্যবহারকারী হোমকে% USERPROFILE% হিসাবে সংজ্ঞায়িত করা কার্যকর হয়নি work আমি সিস্টেম VAR সংজ্ঞায়িত করেছি: হোম = সি: \ ব্যবহারকারী \ myUserName
কলিন_ফ্রোগগ্যাট

আমার জন্য কাজ! ধন্যবাদ। আমি @ কলিন_ফ্রোগগ্যাট এর মতো কিছু করেছি কিন্তু পরিবর্তে ব্যবহারকারীর পরিবেশের ভেরিয়েবলগুলিতে হোম = সি: \ ব্যবহারকারীগণ \ মাইউজারনেম
.. সেট করেছেন

22

ক্রিস ডোলানের উত্তরের বর্ধনে আমি নিম্নলিখিত বিকল্প PS1সেটিংসটি ব্যবহার করেছি । কেবল আপনার ~ /। প্রোফাইলে কোড উইন্ডোটি যুক্ত করুন (উইন্ডোজ:: সি: / ইউজার / ইউএসআরএনএম / প্রোফাইলে)।

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\]
$ '

এটি রঙিন শেল এবং বর্তমান শাখার নাম প্রদর্শন (যদি একটি গিট সংগ্রহস্থলে থাকে) এর সুবিধা বজায় রাখে তবে এটি আমার মেশিনে significantly ০. is৫ এস থেকে ০.১৫ এস পর্যন্ত উল্লেখযোগ্যভাবে দ্রুতগতি সম্পন্ন।

এটি এই ব্লগ পোস্ট উপর ভিত্তি করে ।


দুর্দান্ত উত্তর। তবে আমি আমার। / .Bashrc এ '__git_ps1 ()' নতুন করে সংজ্ঞায়িত করার সিদ্ধান্ত নিয়েছি এবং খালি স্ট্রিং প্রিন্ট করব। এটি সমস্ত বাশ কমান্ডের গতি বাড়ায়।
আজকেরনে

আমি গিট শিক্ষানবিশ, আমি জানতে চাই এই দ্রুত_গিট_পিএস 1 এবং আসল সুন্দর জটিল __git_ps1 এর মধ্যে পার্থক্য কি। আমি ধারণা পেয়েছি যে এটি বেশিরভাগ "স্বাভাবিক" ক্ষেত্রে কাজ করবে, তবে কী সাধারণ এবং এটি কোথায় ব্যর্থ হবে?
সূন্দর - মনিকা পুনরায় ইনস্টল করুন 1'13

এটি ব্যর্থ হবে এমন ক্ষেত্রে আমি সচেতন নই। আমি এর আগে __git_ps1 ব্যবহার করেছি, তবে পারফরম্যান্সের সমস্যাগুলি লক্ষ্য করেছি, তাই আমি প্রকাশিত তথ্য বের করার জন্য গিটকে কম কাজ করতে চেষ্টা করার চেষ্টা করেছি।
উইলবার্ট

2
মূল __git_ps1শাখার নাম নয়, স্থিতির তথ্য অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, আপনি যদি চেনা বাছা বা রিবাজিং বা মার্জ করার মাঝখানে যদি গিটে দির, খালি রেপিতে, কোনও বিচ্ছিন্ন মাথা অবস্থায় থাকেন তবে ... এটি দ্রুত হবে তবে এমন ঘটনাও ঘটতে পারে যেখানে আপনি মিস করবেন এই অতিরিক্ত তথ্য, বিশেষত গিট শিক্ষানবিশ হিসাবে।
ড্রয় নোকস

22

আপনার সমস্যাটি নেটওয়ার্ক-ভিত্তিক হতে পারে, আমি ব্যক্তিগতভাবে git statusদুটি স্থানীয় পরিবর্তন করে আমার স্থানীয় কলগুলি দশগুণ (down+ সেকেন্ড নিচে 700 মিমি) বাড়িয়েছি। এটি ২১,০০০ ফাইল এবং অত্যধিক সংখ্যক বড় বাইনারি ফাইল সহ 700 এমবি সংগ্রহস্থলের মধ্যে রয়েছে।

একটি সমান্তরাল সূচক প্রিললোড সক্ষম করছে। কমান্ড প্রম্পট থেকে:

git config core.preloadindex true
এটি time git status7 সেকেন্ড থেকে 2.5 সেকেন্ডে পরিবর্তিত হয়েছে।

হালনাগাদ!

নিম্নলিখিত আর প্রয়োজন হয় না। একটি প্যাচ এটি মাইএসজিট ১.৯.৪ হিসাবে স্থির করেছে
https://github.com/msysgit/git/commit/64d63240762df22e92b287b145d75a0d68a66988
তবে, আপনাকে টাইপ করে সমাধানটি সক্ষম করতে হবে
git config core.fscache true

আমি ইউএসি এবং "লুয়াফভি" ড্রাইভারটিও অক্ষম করেছি (পুনরায় বুট করা দরকার)। এটি উইন্ডোজ ভিস্তার, 7 এবং 8 এর এমন এক ড্রাইভারকে অক্ষম করে যা সিস্টেম লোকেশনগুলিতে লেখার চেষ্টা করে এমন প্রোগ্রামগুলিকে পুনঃনির্দেশ করে এবং পরিবর্তে সেই ব্যবহারগুলিকে একটি ডিরেক্টরি ডিরেক্টরিতে পুনঃনির্দেশ করে।

এটি কীভাবে গিট পারফরম্যান্সকে প্রভাবিত করে সে সম্পর্কে একটি আলোচনা দেখতে, এখানে পড়ুন: https://code.google.com/p/msysgit/issues/detail?id=320

এই ড্রাইভারটি অক্ষম করতে, রিজেডিতে ড্রাইভারটি অক্ষম করতে "স্টার্ট" কীটি HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafv4 এ পরিবর্তন করুন । তারপরে, ইউএএকে তার সর্বনিম্ন সেটিংয়ে রাখুন, "কখনই অবহিত করবেন না"।

যদি এই ড্রাইভারটি নিষ্ক্রিয় করা আপনাকে সাবধান করে তোলে (এটি হওয়া উচিত), আপনার সিস্টেম পার্টিশনের চেয়ে আলাদা কোনও ড্রাইভে (বা পার্টিশন) বিকল্প চলছে। সম্ভবত ড্রাইভারটি কেবল সিস্টেম পার্টিশনে ফাইল অ্যাক্সেসে চালিত হয়। আমার একটি দ্বিতীয় হার্ড ড্রাইভ আছে এবং আমার সি ড্রাইভে এই রেজিস্ট্রি সংশোধনটি চালানো হয় যখন আমি ডি ড্রাইভ ছাড়াই করি।

এই পরিবর্তনটি time git status2.5 সেকেন্ড থেকে 0.7 সেকেন্ডে নেমে যায়।

উইন্ডোজে গতির সমস্যাগুলির জন্য কী অতিরিক্ত কাজ চলছে তা পরীক্ষা করতে আপনি https://github.com/msysgit/git/pull/94 এবং https://github.com/git/git/commit/d637d1b9a8fb765a8542e69bd2e04b3e229f663b অনুসরণ করতে পারেন ।


10
এটি কেবলমাত্র 1968 সালে আইডিক্স এবং মাইন্ডস মাইক্রোসফ্ট সমাধানগুলি ইউনিক্সে সহজ এবং মার্জিত উপায়ে সমাধান করা সমস্যার সমাধান করে light মাইক্রোসফ্টের ব্লাট এবং রিফ্যাক্টরিং / ফ্লেক্সিব্লিটির অভাবে কত উত্পাদন প্রচেষ্টা, সময় এবং অর্থ ব্যয় হয়েছে was বিশ্বব্যাপী সাহস?
v.oddou

20
আমার মনে আছে 68৮ সালে গিট পিছনে ব্যবহার করা ছিল, এটি গৌরবময় ছিল।
চার্লি ব্রাউন 20

2
লিনাস @ চার্লিবাউনের চারপাশে আসার এক বছর আগে হা হা
ছােম্বারলাইন

1
মধ্যে Git 2.1 ডিফল্টভাবে সক্রিয় stackoverflow.com/a/24045966/4854931
Alex78191

18

এটি প্রদর্শিত হয় যে গিটকে সম্পূর্ণ আনইনস্টল করা, পুনরায় চালু করা (ক্লাসিক উইন্ডোজ নিরাময়) এবং গিটটিকে পুনরায় ইনস্টল করাই নিরাময় ছিল। আমি অবশিষ্ট সমস্ত ব্যাশ কনফিগারেশন ফাইলগুলিও মুছলাম (সেগুলি ম্যানুয়ালি তৈরি করা হয়েছিল)। সবকিছু আবার দ্রুত।

যদি কোনও কারণে পুনরায় ইনস্টল করা সম্ভব না হয় (বা পছন্দসই), তবে আমি অবশ্যই ক্রিস ডোলানের উত্তরে পিএস 1 ভেরিয়েবল পরিবর্তন করার চেষ্টা করব ; এটি নির্দিষ্ট ক্রিয়াকলাপগুলিতে উল্লেখযোগ্য গতিসম্পন্ন হয়েছিল।


3
পুনরায় চালু না করে পুনরায় ইনস্টল করা কাজ করে না, আনইনস্টল-পুনঃসূচনা-ইনস্টল কাজ করে। ধন্যবাদ! যদিও বাশ এত ধীর হয়ে গেল তা জেনে ভাল লাগবে।
গৌথির

রিবুট ইন-ইন্ডিস্টের সাথে পুনরায় ইনস্টল করা আমার পক্ষে কোনও তাত্পর্যপূর্ণ হয়নি।
RyanW

@ রায়ানডাব্লু আমি ভয় করি যে আমার পক্ষে যে সমাধান হয়েছে তার থেকে উপরে আমি আর সমাধান করতে পারব না, তবে যেহেতু এই সমস্যাটি স্থায়ীভাবে স্থির হয়ে গেছে বলে মনে হচ্ছে না, আপনি এমএসজিগিতের রক্ষণাবেক্ষণকারীদের সাথে যোগাযোগ করতে চান এবং তারা বুঝতে পারেন কি না এই সমস্যার কারণ খুঁজে।
মিথুন 14

3
আপনি কোন বাশ কনফিগারেশন ফাইলগুলি একেবারে মুছে দিয়েছেন?
স্কট

3
এটি উত্তরের সমাধান নয়। আপনি যখন আনইনস্টল ও পুনরায় ইনস্টল করেন তখন কিছু কনফিগার ফাইল বদলে যেতে পারে, সেই পরিবর্তনগুলির উত্তর। আপনি যদি কেবল বলেন যে পুনরায় ইনস্টল করাই সমাধান এটি ভুল। অন্যান্য লোকেরা আনইনস্টল ও পুনরায় ইনস্টল করতে পারে এবং ফাইলগুলি কনফিগার করতে পারে এবং সে কারণেই এটি সবার জন্য কার্যকর হবে না।
কার্লোস কেলা

10

আমি "অ্যাডমিনিস্ট্রেটর হিসাবে চালান" দিয়ে cmd.exe শুরু করে উইন্ডোজ 7 x64 এ আমার ধীর গিট সমস্যার সমাধান করেছি।


10
প্রশ্নটি গিট ব্যাশের বিষয়ে আলোচনা করে।
manojlds

2
আপনি প্রশাসক হিসাবে গিট ব্যাশ চালাতে পারেন; যা কোনও ইউএসি সমস্যাটিকে ইঙ্গিত করে বলে মনে হতে পারে
krosenvold

3
বাহ, অ্যাডমিনিস্ট্রেটর হিসাবে গিটার ব্যাশ চলমান বিশাল গতির উন্নতি
ইভিল ই

আমি নিশ্চিত নই কেন এই উত্তরে মাত্র 6 টি ভোট রয়েছে। আমি মনে করি এই উত্তরটি সমস্যার সম্পূর্ণ সমাধান করেছে। একটি বিশাল গতি উন্নতি আছে।
বিনথ

2
@ ভিনোথ 10 ঠিক আছে, প্রশাসক হিসাবে চলমান বিষয়টি আপনি জানেন। যা অনেক কারণে একটি খারাপ ধারণা, এবং অনেক কর্পোরেট ব্যবহারের ক্ষেত্রে কোনও বিকল্প নয়। ব্যবহারকারীকে উন্নত করে একটি পারফরম্যান্স সমস্যা সমাধান করা একটি ভয়ঙ্কর সমাধান।
জেএইচএইচ


6

ক্রিস ডোলানের এবং উইলবার্টের উত্তরে যেমন উল্লেখ করা হয়েছে, পিএস 1 আপনাকে ধীর করে দেয়

উইলবার্টের দ্বারা প্রদত্ত স্ক্রিপ্টটি পুরোপুরি অক্ষম করার (ডোলানের পরামর্শ অনুসারে) বা ব্যবহার করার পরিবর্তে আমি একটি "বোবা পিএস 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" উত্তরের চেয়ে দ্রুত - 200 এমএস বনাম 400 এমএস, সুতরাং এটি আপনার প্রম্পট কিছুটা শেভ করে।

এটি অতটা পরিশীলিত নয় __git_ps1 অতটা - উদাহরণস্বরূপ আপনি .git ডিরেক্টরি ইত্যাদিতে সিডি করার সময় প্রম্পট পরিবর্তন করে না তবে সাধারণ দৈনন্দিন ব্যবহারের জন্য এটি যথেষ্ট ভাল এবং দ্রুত।

এটি গিট 1.7.9 তে পরীক্ষা করা হয়েছিল (সাইগউইন, তবে এটি কোনও প্ল্যাটফর্মে কাজ করা উচিত)।


আপনি --shortপ্রিন্ট না করার বিকল্পটিও ব্যবহার করতে পারেনrefs/heads/
friederbluemle

@ ফ্রাইডারবা্লিউমলে, আপনি গিটের কোন সংস্করণ ব্যবহার করছেন? খনি (1.7.9) কমান্ডের --shortজন্য প্রস্তাব করে না symbolic-ref
সাইনলাও

কোনও গিট রেপোর বাইরে থাকাকালীন ত্রুটিগুলি প্রিন্ট না করা এবং পৃথক হেডদের জন্য কাজ করার জন্য আপডেট করা হয়েছে
sinelaw

আমি 1.8.4 (এমএসএসজিট) ব্যবহার করছি
ফ্রাইডারব্লিউমলে

6

নিম্নলিখিত গিট কনফিগারেশন পরিবর্তন করে আপনি খুব কার্যকরী কর্মক্ষমতা বৃদ্ধি পেতে পারেন:

git config --global status.submoduleSummary false

git statusউইন্ডো 7 x64 এ সাধারণ কমান্ডটি চালানোর সময় , আমার কম্পিউটারটি চালাতে 30 সেকেন্ডেরও বেশি সময় লেগেছিল। এই বিকল্পটি সংজ্ঞায়িত করার পরে, আদেশটি অবিলম্বে।

নিম্নলিখিত পৃষ্ঠায় বর্ণিত গিটের নিজস্ব ট্রেসিং সক্রিয় করা আমাকে সমস্যার উত্স খুঁজে পেতে সহায়তা করেছে, যা আপনার ইনস্টলেশনতে পৃথক হতে পারে: https://github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so- ধীর


5

গিট বাশ এবং গিট জিইউআই উভয় ক্ষেত্রেই আমার একই সমস্যা ছিল। উভয় প্রোগ্রামই দুর্দান্তভাবে চালানোর জন্য ব্যবহার করে তবে তারপরে এলোমেলোভাবে তারা একটি ক্রলের দিকে ধীর হয়ে যায় এবং আমি কেন তা বুঝতে পারি না।

দেখা যাচ্ছে যে, এটি আভাস্ট ছিল। অ্যাভাস্ট বিভিন্ন প্রোগ্রামে (আমার লেখা প্রোগ্রামগুলি সহ) অদ্ভুত জিনিসগুলির কারণ ঘটেছে, তাই আমি এটি এক সেকেন্ডের জন্য অক্ষম করে দিয়েছি এবং যথেষ্ট নিশ্চিত, বাশ এখন লিনাক্সের মতো দ্রুত চালায়। আমি সবেমাত্র গিট প্রোগ্রাম ফাইল ফোল্ডার যুক্ত করেছি (C:\Program Files\Git আভিস্ট বর্জন তালিকায় ) যুক্ত করেছি এবং এখন এটি লিনাক্সের মতো দ্রুত গতিতে চলেছে।

এবং হ্যাঁ, আমি বুঝতে পারি যে অ্যান্টিভাইরাস সফ্টওয়্যারটি মূল পোস্টে সমস্যা ছিল না, তবে কারওর পক্ষে এটি কার্যকর হলে আমি এটি এখানে রেখে দেব।


4

এই অন্যান্য উত্তরগুলি ছাড়াও, আমি সমান্তরাল সাবমডিউল আনয়ন (২০১ early সালের শুরুর দিকে গিট ২.৮ থেকে) ব্যবহার করে একাধিক সাবমডিউলগুলির সাথে প্রকল্পগুলি গতিতে পেরেছি।

এটি সম্পন্ন git fetch --recurse-submodules -j8এবং সেট করা যেতে পারে git config --global submodule.fetchJobs 8, তবে তবে আপনার কাছে / ব্যবহার করতে চান এমন অনেকগুলি কোর।


2

আপনি যদি সেন্টিমিডি থেকে গিট ব্যবহার করেন তবে এটি গিট বাশ থেকে চালানোর চেষ্টা করুন। সেন্টিমিডে, git.exe আসলে এমন একটি মোড়ক যা আপনি যখনই এটি শুরু করেন সঠিক পরিবেশ সেটআপ করে, এবং কেবল তখনই আসল git.exe প্রবর্তন করে। আপনার যা চান তা করতে এটি দ্বিগুণ সময় নিতে পারে। এবং গিট বাশ পরিবেশ শুরু করে কেবল তখনই।


2

ডিভাইস ম্যানেজারে কেবলমাত্র এএমডি রেডিয়ন গ্রাফিক্স (বা ইন্টেল গ্রাফিক্স) বন্ধ করে দেওয়া আমাকে সহায়তা করেছিল।

এখানে চিত্র বর্ণনা লিখুন

আমি উত্তরটি এখানে পেয়েছি: /superuser/1160349/git-is-extremely-slow-on-windows# =


2

সংযুক্ত উত্তর:

  1. উইলবার্ট - পিএস 1 এ কী তথ্য অন্তর্ভুক্ত করা উচিত
  2. sinelaw এর - (<branch_name>)বা(<sha>)
# /unix/140610/using-variables-to-store-terminal-color-codes-for-ps1/140618#140618
# /unix/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")"

# /programming/4485059/git-bash-is-extremely-slow-in-windows-7-x64/19500237#19500237
# /programming/4485059/git-bash-is-extremely-slow-in-windows-7-x64/13476961#13476961
# /programming/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}\] $ '

ফলাফল:

frolowr @ RWAMW36650 / সি / প্রকল্প / এলম-গণিত-বাচ্চাদের (মাস্টার)


এটি কোনও দ্রুত তৈরি করতে পারেনি
কেইনাবেল

এই মুহূর্তে আমি দেখাবে এ @keinabel core.commitGraph=trueথেকে blogs.msdn.microsoft.com/devops/2018/06/25/... থেকে এবং অন্যান্য blogs.msdn.microsoft.com/devops/tag/git
rofrol

2

বেশ কিছু সময়ের জন্য সীমিত ব্যবহারকারীর অ্যাকাউন্ট হিসাবে উইন্ডোজ 7 x64 এ গিট ফর উইন্ডোজ (এমএসএসজিট) চালানোর ক্ষেত্রে আমি একই সমস্যার মুখোমুখি হয়েছি।

আমি এখানে এবং অন্যান্য জায়গাগুলিতে যা পড়েছি তা থেকে সাধারণ থিমটি প্রশাসনিক সুবিধার এবং / অথবা ইউএসি-র অভাব বলে মনে হয়। যেহেতু ইউএসি আমার সিস্টেমে বন্ধ রয়েছে তাই প্রোগ্রাম ফাইল ডিরেক্টরিতে এটি কিছু লিখতে / মুছতে চেষ্টা করছে তা ব্যাখ্যাটি আমার কাছে সবচেয়ে বেশি অর্থবোধ করে।

যাই হোক না কেন, আমি জিপিনস্টলার দিয়ে গিট 1.8 এর বহনযোগ্য সংস্করণ ইনস্টল করে আমার সমস্যার সমাধান করেছি। নোট করুন যে আমাকে জিপিনস্টলারের কাজ করার জন্য .7z ডিস্ট্রিবিউশন ফাইলটি আনপ্যাক করে একটি জিপ ফাইল হিসাবে পুনরায় জমা দিতে হয়েছিল। আমি নিজেও আমার ডিরেক্টরিটিতে সেই ডিরেক্টরিটি যুক্ত করতে হয়েছিল।

অভিনয় এখন ঠিক আছে। যদিও এটি Program Files (x86)ডিরেক্টরিতে ইনস্টল করা হয়েছে , যার সীমিত ব্যবহারকারী হিসাবে আমার কাছে অনুমতি নেই, এটি একই সমস্যা থেকে ভুগছে বলে মনে হয় না।

আমি এটি এটিকে সত্যই প্রমাণ করি যে পোর্টেবল সংস্করণটি যেখানে ফাইল লিখতে / মুছে ফেলার ক্ষেত্রে কিছুটা রক্ষণশীল, সম্ভবত এটিই হতে পারে, বা 1.7 থেকে 1.8 পর্যন্ত আপগ্রেড করা হয়েছে। আমি কোনটি কারণ তা খণ্ডন করার চেষ্টা করতে যাচ্ছি না, বাশ সহ এখন এটি আরও বেশি ভাল কাজ করে বলে যথেষ্ট।


1
ইউএসি বন্ধ করে দেওয়া মনে হচ্ছে আমাদের জন্য সমস্যার "বড়" অংশটি সমাধান করা (বহু-দ্বিতীয় বিলম্ব)। পিএস 1 হ্যাক বাকিটি করেছিল।
krosenvold

একইভাবে আমি এসএসডি, 32 জিবি র‌্যাম এবং কোয়াড কোর আই 7 এ আছি এবং অন্য উত্তরগুলির
কোনওটিই

2

আমার ক্ষেত্রে এটি আসলে অ্যাভাস্ট অ্যান্টিভাইরাসই গিট বাশ এবং এমনকি পাওয়ারশেলকে আস্তে আস্তে পরিণত করেছিল।

আমি প্রথমে 10 মিনিটের জন্য অ্যাভাস্টকে অক্ষম করার চেষ্টা করেছি এটির গতি উন্নত হয়েছে কিনা তা দেখার জন্য। এরপরে, পড়া, লিখুন এবং সম্পাদন করার জন্য আমি আস্তে আস্তে ব্যতিক্রম হিসাবে পুরো গিট ব্যাশ ইনস্টলেশন ডিরেক্টরি যুক্ত করেছি। আমার ক্ষেত্রে ছিল C:\Program Files\Git\*


আমি এই টিপস নিশ্চিত করতে চাই। অ্যাভাস্ট থেকে গিটকে বাদ দিন সত্যই জিনিসটি দ্রুততর করুন। আমি আর অপেক্ষা না করে গিট স্ট্যাটাস দেখতে পাচ্ছি। জয় 7 x64
ফজরহ্যাক

অ্যান্টিভাইরাস কেবল হস্তক্ষেপ করে।
অ্যালেক্স 78191

1
ধন্যবাদ, এটি অবশ্যই একটি দ্রুত জয় ছিল! 10 মিনিটের জন্য অ্যাভাস্ট অক্ষম করা হয়েছে, গিটারের কার্য সম্পাদনে তাত্ক্ষণিক পরিবর্তন লক্ষ্য করা গেছে (অর্থাত্ কার্যকর মৃত্যুর সময় ফিরে আসা)।
মার্সেলো রোমানি

এই সমাধানটি আমার পক্ষে কাজ করেছিল। ম্যাকাফি + উইন্ডোজ 10 এন্ট।
ফ্র্যাক্টালস্পেস

1

উপরের কিছুই আমাকে সাহায্য করতে সক্ষম হয়নি। আমার দৃশ্যে ইস্যুটি নিজের মতো করে দেখাচ্ছিল:

  • কোন ll কমান্ড ধীর ছিল (কার্যকর করতে প্রায় 3 সেকেন্ড সময় নিচ্ছিল)
  • পরবর্তী যে কোনও llকমান্ড তাত্ক্ষণিকভাবে কার্যকর করা হয়েছিল, তবে কেবলমাত্র পূর্ববর্তী ls কমান্ড থেকে 45 সেকেন্ডের মধ্যে

প্রসেস মনিটরের সাথে এটি ডিবাগিংয়ের সময় এটি সন্ধান করা হয়েছিল যে প্রতিটি কমান্ডের আগে একটি ডিএনএস অনুরোধ ছিল।

সুতরাং যত তাড়াতাড়ি আমি আমার ফায়ারওয়ালটি অক্ষম করলাম (আমার ক্ষেত্রে কমোডো) এবং কমান্ডটি কার্যকর করতে দিন যাতে সমস্যাটি শেষ হয়ে যায়। ফায়ারওয়ালটি আবার চালু করা অবস্থায় ফিরে আসেনি। প্রারম্ভিক সুযোগটি নিয়ে আমি এই প্রতিক্রিয়াটি আপডেট করব কী প্রক্রিয়াটি একটি ব্লক করা ডিএনএস অনুরোধটি করছিল এবং লক্ষ্য কী ছিল তা সম্পর্কে আরও বিশদ সহ update

বিআর, জি


llউপনাম হচ্ছে log? এটির পক্ষে ডিএনএস অনুরোধ থাকবে এমনটি অদ্ভুত বলে মনে হচ্ছে।
মাইকেল - ক্লে শিরকি কোথায়

1
llজন্য একটি উপনাম ls -l। আর যাইহোক, ডিএনএস অনুরোধটি ট্রিগার করা এখনও অদ্ভুত ... ইতিমধ্যে আমি উত্তরটিতে আরও বিশদ যুক্ত করার জন্য এই সমস্যাটি আবার উপস্থিত হওয়ার অপেক্ষায় রয়েছি।
জর্জ

1

আমার ক্ষেত্রে, গিট ব্যাশ শর্টকাট সেট করা হয়েছিল Start in:%HOMEDRIVE%%HOMEPATH% (আপনি গিট বাশকে ক্লিক করে এবং বৈশিষ্ট্যগুলি নির্বাচন করে এটি পরীক্ষা করতে পারেন)। এটি ছিল নেটওয়ার্ক ড্রাইভ।

সমাধান এটি ইঙ্গিত করা হয় %HOME%। আপনার যদি এটি না থাকে তবে আপনি এটিকে পরিবেশের ভেরিয়েবলগুলিতে সেট আপ করতে পারেন এবং এখন গিট বাশ দ্রুত বাজ হওয়া উচিত।


আমি মনে করি এই উত্তরের আরও ভোট হওয়া উচিত। আমি এই একই প্রস্তাবটি পোস্ট করতে এখানে এসেছি, তবে আপনি ইতিমধ্যে আমাকে এটির কাছে মারতে দেখেছেন ol
জন

0

গিট পিএস 1 স্লোনেস নিয়েও আমার সমস্যা ছিল, যদিও দীর্ঘদিন ধরেই আমি ভেবেছিলাম এটি একটি ডাটাবেস আকারের সমস্যা (বড় সংগ্রহস্থল) এবং বিভিন্ন git gcকৌশল চেষ্টা করে যাচ্ছিল, এবং ঠিক আপনার মতো অন্যান্য কারণেও খুঁজছিলাম। তবে আমার ক্ষেত্রে সমস্যাটি ছিল এই লাইনটি:

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
}

এরকম git statusযে কমান্ড লাইন অবস্থা লাইন জন্য মন্থর ছিল। সেকি। এটি হাতে হাতে লেখা কিছু ছিল। আমি চেষ্টা করে দেখলাম যে এটি একটি সমস্যা ছিল

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
    ...

গিট বর্তমান শাখা এবং রঙের সাথে স্ট্যাক ওভারফ্লো পোস্ট পিএস 1 লাইন থেকে এবং এটি দুর্দান্ত কাজ করে। আবার একটি দ্রুত গিট কমান্ড লাইন আছে।


আপনার লিখিত লিখিত স্ক্রিপ্টের কারণে আপনার সমস্যার সৃষ্টি হয়েছিল? একই স্ক্রিপ্টটি অনুসন্ধানকারী অন্যান্য ব্যবহারকারীদের জন্য সম্ভবত স্ক্রিপ্টটি কারণ হওয়ার সম্ভাবনা নেই ...
জোলতা

ওপির প্রশ্নটি একবার দেখুন - তিনি প্রচুর পরিমাণে যাচাই করেছেন তা উল্লেখ করেছিলেন, এবং এখনও তা হয়নি। আমার সাথে একই ছিল। সুতরাং এখানে আমি আর একটি জিনিস যুক্ত করেছি যা যখন কোনও কিছুই সাহায্য করে না তখন চেক করার জন্য। এবং এটি এই নির্দিষ্ট স্ক্রিপ্ট নয় যা আমি লিখেছি এটি গুরুত্বপূর্ণ, তবে একটি ধারণা - আপনার PS1 দেখুন।
কোশমায়ার

0

আমার এক সহকর্মীর উইন্ডোজে গিটের সাথে ঝামেলা হয়েছিল (7) git status checkoutএবং addদ্রুত ছিল, তবেgit commit যুগে যুগে লেগেছিল।

আমরা এখনও এর মূল কারণ অনুসন্ধান করার চেষ্টা করছি, কিন্তু একটি নতুন ফোল্ডারে ভান্ডারটিকে ক্লোন করা তার সমস্যাটি স্থির করেছে।


0

যেমনটি অনেকে বলেছিলেন, stashএটি উইন্ডোজে শেল স্ক্রিপ্ট হওয়ার কারণে , তবে গিট ২.১18.০ থেকে উইন্ডোজ ইনস্টলারটির কাছে স্ট্যাশ-এর ​​ভার্সন-নির্মিত সংস্করণটির একটি আরও দ্রুত (~ 90%) পরীক্ষামূলক বৈশিষ্ট্যের বিকল্প রয়েছে - https: / /github.com/git-for-windows/build-extra/pull/203


এটি এতে সহায়তা করে stashতবে stashবিশেষ করে উল্লেখ করা আপনার প্রথম পোস্ট । এটি অন্যান্য গিট অপারেশনগুলিকে প্রভাবিত করে?
মাইকেল - ক্লে শিরকি

আমি যতদূর বুঝতে পেরেছি না। পূর্বরূপে 2 টি পরীক্ষামূলক বৈশিষ্ট্য রয়েছে যা আরও ভাল পারফরম্যান্সের জন্য একটি দেশীয় নির্বাহযোগ্যকে ব্যবহার করতে stashএবং / বা rebaseব্যবহার করতে দেয় তবে পূর্বরূপে যে কোনও কিছুর সাথে সর্বদা একটি ছোট্ট সম্ভাবনা থাকে যা একটি ছোট পার্শ্ব-প্রতিক্রিয়া হতে পারে।
বার্গমিস্টার

1
পিএস এই বৈশিষ্ট্যটি v 2.19.1-এ পূর্বরূপের বাইরে চলে গেছে, অতএব আপনি এর জন্য আর কোনও বিকল্প পাবেন না
বার্গমিস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.