গিট গুই: নিখুঁতভাবে পাওয়া "এই ভাণ্ডারটিতে বর্তমানে প্রায় 320 টি আলগা বস্তু রয়েছে” "


90

আমি যখনই কোনও বিশেষ প্রকল্পে গিট গুই শুরু করি তখনই আমি এই বার্তাটি পাই:

এই সংগ্রহস্থলের বর্তমানে প্রায় 320 আলগা বস্তু রয়েছে।

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

আমি তারপরে হ্যাঁ ক্লিক করতে এগিয়ে চলেছি এবং আমি এই ডায়ালগটি পেয়েছি:

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

কথাটি হ'ল, আমি যখন আবার গিট গুই খুলি, ঠিক একই বার্তাটি পাই , আবার প্রায় 320 টি আলগা বস্তু! দেখে মনে হচ্ছে হ্যাঁ ক্লিক করার কোনও প্রভাব ছিল না।


আপনি কি আউটপুট পোস্ট করতে পারেন git count-objects -v?
সিবি বেইলি


4
@ দ্য কোডেআর্টিস্ট ধন্যবাদ, আমি উত্তরটি সেখানে পেয়েছি। এই মন্তব্যgit gc অনুসারে কমান্ড লাইন থেকে স্পষ্টভাবে চালানো আমার পক্ষে কাজ করেছিল ।
সাশোলাম

উত্তর:


82

'গিট গুই' চলাকালীন "লুজ অবজেক্ট" পপআপটি কীভাবে স্কিপ করবেন সেভাবে কেবল পপ আপকে এড়িয়ে যাবেন , গৃহীত উত্তরে প্রস্তাবিত যে গিট আপনাকে একটি সম্ভাব্য পারফরম্যান্স ইস্যুতে যোগাযোগ করছে এই বিষয়টি উপেক্ষা করে। কমান্ড লাইন থেকে এই কমান্ডটি চালিয়ে এটি স্থিরযোগ্য হওয়া উচিত:

cd path/to/your/git/repo
git gc --aggressive

এর আউটপুট থেকে git help gc:

বর্তমান সংগ্রহস্থলের মধ্যে অনেকগুলি গৃহকর্মের কাজ পরিচালনা করে, যেমন ফাইলের সংশোধনগুলি সংক্ষেপিত করা (ডিস্কের স্থান হ্রাস করতে এবং কর্মক্ষমতা বাড়ানোর জন্য) এবং পৌঁছনীয় না এমন বস্তুগুলি মুছে ফেলা যা গিট অ্যাডের পূর্ববর্তী অনুরোধগুলি থেকে তৈরি হয়েছিল।

ব্যবহারকারীরা প্রতিটি ডিস্কিস্টোরির মধ্যে নিয়মিতভাবে এই কাজটি ভাল ডিস্ক স্পেসের ব্যবহার এবং ভাল অপারেটিং কর্মক্ষমতা বজায় রাখতে উত্সাহিত করা হয়।

--aggressive

সাধারণত গিট জিসি খুব ভাল ডিস্ক স্পেসের ব্যবহার এবং কার্যকারিতা সরবরাহ করার সময় চলে। এই বিকল্পটি আরও বেশি সময় নেওয়ার ব্যয়ে গিট জিসিকে আরও আক্রমণাত্মকভাবে সংগ্রহস্থলটিকে অনুকূল করে তুলবে। এই অপ্টিমাইজেশনের প্রভাবগুলি অবিচল, সুতরাং এই বিকল্পটি কেবল মাঝে মধ্যে ব্যবহার করা প্রয়োজন; প্রতি কয়েক শতাধিক চেঞ্জসেট বা তাই।

এটি কিছুক্ষণের জন্য পপ আপ করা থেকে প্রম্পটটি রাখা উচিত।


19
আশ্চর্যের বিষয়টি হ'ল কেবল git gcকমান্ড লাইন থেকে চালানো আমার জন্য এটি স্থির করে। :) এর git guiমতো কিছু চালানো যেতে পারে git gc --extra-unaggressive:)
সাশোমল

38
git pruneযখন এটি ঠিক git gcকরে না।
মাহন

4
আপনি সাধারণত চালাতে চান না --aggressive; এটি gitডেল্টাসের পুনরায় গণনা করতে থাকে যা সাধারণত অনুৎপাদনশীল এবং খুব সময়সাপেক্ষ হয়; দেখতে এই পোস্টে --দী manপৃষ্ঠা বিভ্রান্তিকর করা হয়। git gcএই ক্ষেত্রে সম্ভবত কেবল সরলই যথেষ্ট।
জেফ ক্লাইটস 1

16
--prune=allবার্তাটি থেকে মুক্তি পেতে ব্যবহার করতে হয়েছিল। আমরাও git gcকমান্ড লাইন কিংবা বিকল্পগুলি --aggressiveবা --pruneকৌতুক করেনি।
Daw

4
@ জেফক্লাইটস আপনি যে নিবন্ধটি উল্লেখ করেছেন এটি 11 বছর পুরাতন (এবং এই তারিখ অনুসারে) বলেছে "এই কারণে - গুরুতরভাবে সম্ভবত ম্যানাপেজগুলি থেকে সরানো হবে এবং কিছুক্ষণের জন্য একটি অনির্ধারিত বৈশিষ্ট্য হিসাবে রেখে দেওয়া হবে" left আরও খনন না করে, অদ্ভুত বলে মনে হচ্ছে ভাঙা বার্তাটি এখনও আছে। নিবন্ধটি লেখা হয়েছে এমন আচরণের কোনও পরিবর্তন হয়েছে কি?
পাইপ

3

আমি আদেশ ব্যবহার করি:

গিট জিসি - প্রুন = এখন

এবং সম্পন্ন করার পরে আর কোনও বেশি আলগা বস্তুর সতর্কতা নেই।

রেফারেন্সের উত্স: https://git-scm.com/docs/git-gc


4
বলতে হবে যে এটি আমার জন্য কাজ করা সমাধান ছিল। আশ্চর্যের সাথে, git gc --aggressiveসতর্কতাটি সরিয়ে দেয় না (এবং ইউআই-তে ক্লিকও করেনি, যা দেখে মনে হয় এটি সরল কাজ করে git gc)।
সেরাফিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.