বেশিরভাগ ডেভেলপারই মনে করেনgit init রান করলেই গিট সাথে সাথে তাদের প্রজেক্ট ট্র্যাকিং শুরু করে দেয়। কিন্তু আসলে তা নয়! 🙅♂️ তাহলে একটা গিট রিপোজিটরি ইনিশিয়ালাইজ করার পর পর্দার আড়ালে ঠিক কী ঘটে? .git ডিরেক্টরির ভেতরটা একটু নেড়েচেড়ে দেখা যাক! ১. একটি ফাঁকা ডাটাবেস 📁 যখন আপনি git init রান করেন, গিট একটি হিডেন .git ফোল্ডার তৈরি করে। এই পর্যায়ে এটি মূলত কনফিগারেশন ফাইল এবং ডিরেক্টরি স্ট্রাকচার সহ একটি ফাঁকা ডাটাবেসের মতো কাজ করে, যা ডেটার জন্য অপেক্ষা করে।
২. আনট্র্যাকড ফাইলের রহস্য ❓ যদি আপনি একটি নতুন ফাইল তৈরি করেন (যেমন: touch index.txt) এবং git status চেক করেন, গিট সাথে সাথেই বুঝে ফেলে যে ফাইলটি 'untracked'। কিন্তু কিভাবে? git status রান করলে গিট মূলত দুটি জিনিসের মধ্যে তুলনা করে: ১. আপনার ওয়ার্কিং ডিরেক্টরির বর্তমান ফাইলসমূহ।
২. .git/index-এর ভেতরে সংরক্ষিত স্ন্যাপশট (যেটি গিটের স্ট্রেজিং এরিয়া বা ক্যাশ)। আপনি যদি .git/index ফোল্ডারের ভেতর তাকান, দেখতে পাবেন এটি একটি বাইনারি ফাইল। টার্মিনালে cat .git/index কমান্ড দিলে এরকম কিছু হিজিবিজি কোড দেখতে পাবেন: DIRCjmXjmX⛲CK)wZS
এই বাইনারি ক্যাশটাই (DIRC হেডার = Directory Cache) মূলত গিটকে ফাইলের স্টেট ট্রাক করতে এবং আপনার প্রজেক্ট ফোল্ডারের নতুন আনট্র্যাকড ফাইলগুলোকে শনাক্ত করতে সাহায্য করে!
৩. বর্তমানে আপনি কোন ব্রাঞ্চে আছেন? 📍 গিট কীভাবে বোঝে আপনি বর্তমানে কোন ব্রাঞ্চে কাজ করছেন? ব্যাপারটা খুবই সহজ। আপনার .git ফোল্ডারে ঢুকে HEAD ফাইলটি চেক করলেই উত্তর পেয়ে যাবেন #Git #DevOps #SoftwareEngineering #WebDevelopment #Programming #CodingTips