Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

গিট রিস্টোর

কখন দরকার?

ধরো তুমি একটা ফাইলে অনেক কিছু চেইঞ্জ করেছো, কিন্তু এখন মনে হচ্ছে — “না, আগেরটাই ভালো ছিলো।” কমিট করোনি এখনো। তাহলে কি করবে? ফাইলটাকে আগের অবস্থায় ফিরিয়ে নিতে চাও।

এই কাজেই git restore ব্যবহার হয়!

আনস্টেজড চেইঞ্জ বাতিল করা

ফাইলে চেইঞ্জ করেছো কিন্তু git add করোনি:

# hello.txt এ কিছু চেইঞ্জ করেছো
echo "ভুল কিছু লিখে ফেলেছি" >> hello.txt

# আগের অবস্থায় ফিরিয়ে নাও
git restore hello.txt

ব্যস! ফাইলটা শেষ কমিটের অবস্থায় ফিরে গেছে। তোমার চেইঞ্জ মুছে গেছে।

সাবধান: git restore করলে চেইঞ্জগুলো ফিরিয়ে আনার কোনো উপায় নেই! তাই নিশ্চিত হয়ে ব্যবহার করো।

স্টেজড চেইঞ্জ আনস্টেজ করা

ফাইল git add করে ফেলেছো, কিন্তু এখন স্টেজিং থেকে বের করতে চাও:

git add hello.txt
# ওহ, ভুল করে add করে ফেলেছি!

git restore --staged hello.txt

এটা ফাইলটাকে স্টেজিং এরিয়া থেকে বের করবে, কিন্তু তোমার চেইঞ্জ ফাইলে থাকবে।

সব ফাইলের চেইঞ্জ বাতিল

সব ফাইলের আনস্টেজড চেইঞ্জ বাতিল করতে:

git restore .

নির্দিষ্ট কমিট থেকে ফাইল আনা

ধরো তুমি ৩ কমিট আগের ভার্শনের hello.txt চাও:

git restore --source=HEAD~3 hello.txt

এটা ৩ কমিট আগের hello.txt নিয়ে আসবে।

restore vs checkout

আগে ফাইল রিস্টোরের জন্য git checkout -- filename ব্যবহার হতো। git restore হলো নতুন, বেশি ক্লিয়ার কমান্ড।

কাজপুরানোনতুন
চেইঞ্জ বাতিলgit checkout -- file.txtgit restore file.txt
আনস্টেজ করাgit reset HEAD file.txtgit restore --staged file.txt

মনে রাখো

git restore file.txt          → চেইঞ্জ বাতিল (আনস্টেজড)
git restore --staged file.txt → স্টেজ থেকে বের করো
git restore .                 → সব চেইঞ্জ বাতিল

টিপ: git restore ব্যবহারের আগে সবসময় git status আর git diff দিয়ে চেক করো — কি বাতিল হচ্ছে!