স্টেজিং এরিয়াতে নেওয়া
স্টেজিং এরিয়া কি?
গিটে কোনো চেইঞ্জ সরাসরি সেভ (কমিট) হয় না। আগে তোমাকে বলতে হয় — “এই ফাইলগুলো আমি সেভ করতে চাই।” এই “বলার” জায়গাটাই হলো স্টেজিং এরিয়া।
একটা উদাহরণ দিই। ধরো তুমি বাজার করতে গেছো:
- দোকানে ঘুরছো = তোমার ফাইলগুলোতে কাজ করছো (Working Directory)
- ঝুড়িতে/কার্টে রাখছো = যে ফাইলগুলো সেভ করবে সেগুলো বাছাই করছো (Staging Area)
- কাউন্টারে গিয়ে পে করছো = ফাইনাল সেভ করছো (Commit)
git add কমান্ড দিয়ে তুমি ফাইলকে ঝুড়িতে (স্টেজিং এরিয়াতে) রাখো।
একটা ফাইল স্টেজ করা
git add hello.txt
এটা শুধু hello.txt ফাইলটাকে স্টেজিং এরিয়াতে নেবে।
একসাথে অনেকগুলো ফাইল স্টেজ করা
git add file1.txt file2.txt file3.txt
স্পেস দিয়ে আলাদা করে অনেকগুলো ফাইলের নাম দিতে পারো।
সব ফাইল একসাথে স্টেজ করা
git add .
এই ডট (.) মানে “এই ফোল্ডারের সবকিছু।” নতুন ফাইল, চেইঞ্জ করা ফাইল — সব স্টেজিং এরিয়াতে যাবে।
সাবধান:
git add .দেওয়ার আগেgit statusদিয়ে চেক করো কি কি চেইঞ্জ আছে। নাহলে অপ্রয়োজনীয় ফাইলও স্টেজ হয়ে যেতে পারে!
স্টেজ থেকে ফাইল বের করা (Unstage)
ভুল করে কোনো ফাইল স্টেজ করে ফেললে? চিন্তা নেই:
git rm --cached hello.txt
এটা ফাইলটাকে স্টেজিং এরিয়া থেকে বের করবে, কিন্তু ফাইলটা ডিলিট হবে না।
উদাহরণ: পুরো ফ্লো
# নতুন ফাইল বানাই
echo "আমার প্রথম ফাইল" > first.txt
echo "আমার দ্বিতীয় ফাইল" > second.txt
# স্ট্যাটাস চেক
git status
# Output: দুইটা Untracked ফাইল দেখাবে
# শুধু first.txt স্টেজ করি
git add first.txt
# আবার স্ট্যাটাস চেক
git status
# Output: first.txt সবুজ (স্টেজড), second.txt লাল (আনস্টেজড)
গিটের তিনটা জায়গা
Working Directory ──git add──▶ Staging Area ──git commit──▶ Repository
(কাজের জায়গা) (ঝুড়ি/কার্ট) (ফাইনাল সেভ)
এই তিনটা জায়গা মাথায় রাখলে গিটের অনেক কিছু সহজ হয়ে যাবে!
পরের পেজে শিখবো — কিভাবে ফাইনাল সেভ (কমিট) করতে হয়।