গিট আমাকে কেন এটি বলতে থাকে যে "সর্বোত্তম পারফরম্যান্সের জন্য পটভূমিতে সংগ্রহস্থলটি অটো প্যাকিং করছে"?


106

দ্রষ্টব্য : আমি মনে করি না যে এটি এই প্রশ্নের সদৃশ , যা একটি নন-ব্যাকগ্রাউন্ড প্যাকের কথা বলছে যা একটি সম্পূর্ণ ভিন্ন ত্রুটি বার্তায় গিটকে ঝুলিয়ে রাখে


আমার গিট সংগ্রহস্থলগুলির মধ্যে, প্রতিবার আমি অনুরোধ করি (উদাহরণস্বরূপ) git fetch, গিট প্রিন্ট:

Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.

git fetchকোনও পরিবর্তন এবং git fetchকরার জন্য কিছুই না থাকলেও আমি যদি বারবার এটি করি তবে প্রতিবার এটি মুদ্রিত হবে। এটি আমার কাছে খুব একটা বোঝায় না। এছাড়া যেমন অন্যান্য নেটওয়ার্ক অপারেশন, সঙ্গে ঘটবে বলে মনে হয় git pushএবং git pull

কমান্ডটি আর কোনও আউটপুট না দিয়ে তাত্ক্ষণিকভাবে প্রম্পটে ফিরে আসে, এবং আমি আমার মেশিনে কোনও গিট প্রক্রিয়াটি দেখতে পাচ্ছি না। এটি কেবলমাত্র এই সংগ্রহস্থল এবং কেবলমাত্র এই মেশিনেই ঘটবে বলে মনে হচ্ছে। git config -l | grep gcকিছুই ফিরে।

এই সমস্যাটি সনাক্ত করতে বা সমাধান করতে আমি কী করতে পারি?

$ git --version 
git version 2.0.1

আমি ওএস এক্স 10.9 ব্যবহার করছি।


আপনি যে প্রশ্নটি সংযুক্ত করেছেন ঠিক একই সমস্যার মতো দেখায়, তবে কেবল দ্রুত ঘটছে যা স্থগিত না হওয়ার জন্য প্রদর্শিত হচ্ছে।
ফাঁকা


ট্রেনগোট, আমি এটা মনে করি না। ত্রুটি বার্তাটি সূক্ষ্মভাবে পৃথক - এটি "পটভূমি" উল্লেখ করে।
অ্যান্ড্রু ফেরিয়ার 20'15

ট্রেনগোট, দুঃখিত, আপনি ঠিক বলেছেন, এটি সম্পর্কিত ছিল (দ্বিতীয় লিঙ্ক)। পয়েন্টারের জন্য ধন্যবাদ, বিস্তারিত জানার জন্য নীচে আমার উত্তর দেখুন।
অ্যান্ড্রু ফেরিয়ার

উত্তর:


175

আপনার দেওয়া দ্বিতীয় মন্তব্যটির সমাধান আমি পেয়েছি, ট্রেনগোট, ধন্যবাদ। দেখা যাচ্ছে যে আমার কিছু ঝুঁকির ব্লব ছিল, যা ছিল .git/objects/17এবং তাই প্যাকিংটিকে ট্রিগার করে:

$ git fsck
dangling blob d9ff0aeac4aa8b4e0907daed675ebf60278bc977
dangling blob dbff2d073741f9775c815d4a3c623736af224dad
dangling blob e1ffbab1c5b985cd1cd3bc0281075ea2ed80744a
dangling blob fdff59878ccb3a75689f4acca615cfb635288774

এটি তাদের পরিষ্কার করেছে:

$ git gc --prune=now

সচেতন হোন, নীচে হেনরিকের মতামত অনুসারে এটি কিছুটা বিপজ্জনক হতে পারে। যত্ন নিবেন!


24
ধন্যবাদ! এটা আমার জন্য কাজ বলে মনে হয়েছিল। সচেতন হোন যে --prune=nowকিছুটা বিপজ্জনক। ডিফল্টরূপে, --prune2 সপ্তাহের ঝোলা ব্লব রাখবে, এর অর্থ আপনি যদি 5 মিনিট আগে ঘটনাক্রমে কোনও ভুল রিবেস করেন বা গতকাল একটি শাখা অপসারণ করেছেন, আপনি পুনরুদ্ধার করতে পারবেন। আপনি এই আদেশটি চালানোর পরে, আপনি এখন পর্যন্ত সমস্ত ঝুঁকিপূর্ণ ব্লগ হারাবেন - 2 সপ্তাহ আগে। এছাড়াও, দেখে মনে হয় অন্য গিট কমান্ডগুলি অন্য টার্মিনালে সম্পাদন করার সময় আপনার কখনই এটি চালানো উচিত নয়, বা আপনার রেপো দুর্নীতিগ্রস্থ হয়ে উঠতে পারে।
হেনরিক এন

4
আপনি আমার দিনটি সংরক্ষণ করেছেন
ওভেন চেন

এর আগে কখনও হয়নি। আমার জন্য কাজ করেছেন 'গিট ক্লিন-এফডি' দ্বারা। অদ্ভুত তবে এটি আন্যাক্যাক করা ফাইলের কারণে হতে পারে।
শ্রীকান্ত ফাদকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.