গিট নিজের উপর থেকে তথ্য ফেলে দেয় না । প্রতিটি ফাইলের সমস্ত পূর্ববর্তী সংস্করণ সর্বদা রিভার্টস, ডিফস, ইন্সপেকশন, এবং সিটেরা জন্য উপলভ্য।
সম্পূর্ণ-গাছ বনাম পৃথক-ফাইল
আপনি যেটি মিলনের চেষ্টা করতে পারেন তা হ'ল গিতের ইতিহাসের মডেল পুরো গাছের দিকে মনোনিবেশ করা এই সত্যের তুলনায় একটি পৃথক ফাইলের পুরানো সংস্করণ অ্যাক্সেস করার ধারণা। পুরো গাছের সংস্করণটির জন্য দেখতে আরও কিছু কাজ প্রয়োজন (উদাহরণস্বরূপ) foo.c
দশ- foo.c
পরিবর্তন আগে বনাম দশটি পুরো গাছ-পরিবর্তনের আগে সংস্করণটির উপস্থিতি ছিল :
# 10 foo.c-changes ago
git show $(git rev-list -n 10 --reverse HEAD -- foo.c | head -1):foo.c
# 10 whole-tree-changes ago
git show HEAD~10:foo.c
গাছ-ওরিয়েন্টেশনের সুবিধাগুলি, প্রধানত পুরো গাছের বিভিন্ন অংশে করা পারস্পরিক নির্ভরশীল পরিবর্তনের একক হিসাবে দেখার ক্ষমতা, অতিরিক্ত অতিরিক্ত টাইপিং (যা উপকরণ, স্ক্রিপ্টস এবং এন্টি সিটিএর সাহায্যে কমিয়ে দেওয়া যেতে পারে) এবং সিপিইউ সময়কে ছাড়িয়ে যায় অতীতের কমিটের মাধ্যমে খনন ব্যয় করেছে।
স্টোরেজ দক্ষতা
যখন কোনও নতুন অবজেক্ট (যেমন পূর্বে দেখা না হওয়া বিষয়বস্তুযুক্ত একটি ফাইল) সিস্টেমে প্রবেশ করে, তখন এটি "লুজ অবজেক্ট" হিসাবে প্লেইন (zlib) সংক্ষেপণ সহ সঞ্চিত হয়। যখন পর্যাপ্ত আলগা বস্তু জমা হয় ( gc.auto
কনফিগারেশন বিকল্পের উপর ভিত্তি করে ; বা যখন ব্যবহারকারী গিট জিসি বা নিম্ন-স্তরের প্যাকিং কমান্ডগুলির একটি চালায় ), গিট অনেকগুলি আলগা বস্তুকে একক "প্যাক ফাইল" হিসাবে সংগ্রহ করবে।
প্যাক ফাইলে থাকা অবজেক্টগুলি প্লেইন কমপ্রেসড ডেটা (একটি লুজ অবজেক্টের মতোই, অন্যের অবজেক্টের সাথে কেবল বান্ডিল করা), বা অন্য কোনও অবজেক্টের বিপরীতে সংক্ষেপিত ডেল্টাস হিসাবে সংরক্ষণ করা যেতে পারে। ডেল্টাসগুলি একত্রে কনফিগারযোগ্য গভীরতা ( pack.depth
) -তে বেঁধে রাখা যেতে পারে এবং যেকোন উপযুক্ত বস্তুর বিপরীতে তৈরি করা যেতে পারে ( pack.window
গিটার সেরা ব-দ্বীপ ঘাঁটির জন্য কীভাবে ব্যাপকভাবে অনুসন্ধান করে তা নিয়ন্ত্রণ করে; doingতিহাসিকভাবে অপ্রাসঙ্গিক ফাইলের একটি সংস্করণ যদি বেস হিসাবে ব্যবহার করা যায় তবে ফলন হবে) ভাল ডেল্টা সংক্ষেপণ)। অক্ষাংশ যে গভীরতা এবং উইন্ডো আকারের কনফিগারেশনগুলি ডেল্টা সংকোচনের ইঞ্জিন দেয় প্রায়শই সিভিএস-শৈলীর সহজ-এক-সংস্করণ-বিপরীতে-পূর্ববর্তী / পূর্ববর্তী সংস্করণ "ডিফ" সংক্ষেপণের চেয়ে ভাল ডেল্টা সংকোচনের ফলাফল দেয়।
এটি এই আক্রমণাত্মক ডেল্টা সংক্ষেপণ (সাধারণ জেলিব সংক্ষেপণের সাথে মিলিত) যা প্রায়শই একটি গিট সংগ্রহস্থল (সম্পূর্ণ ইতিহাস এবং একটি সঙ্কুচিত ওয়ার্কিং ট্রি সহ) একক এসভিএন চেকআউটের চেয়ে কম জায়গা নিতে পারে (অসম্পূর্ণ চাপযুক্ত গাছ এবং মূল কপি সহ)।
দেখুন কিভাবে গীত দোকান অবজেক্টস এবং Packfile বিভাগে গীত কমিউনিটি বুক । এছাড়াও গিট প্যাক-অবজেক্টস ম্যানপেজ ।
* আপনি "পুনর্লিখনের ইতিহাস" এবং গিট পুনরায় সেট করার মতো কমান্ড দিয়ে গিটকে ফেলে দেওয়া কমিটগুলি বলতে পারেন , তবে এই ক্ষেত্রেও গিট নতুনভাবে বাতিল হওয়া কিছুটা সময়ের জন্য "ঝুলে যায়", কেবলমাত্র যদি আপনি সিদ্ধান্ত নেন যে আপনার প্রয়োজন আছে। দেখুন Git reflog এবং Git খেজুর ।