গিট রিস্টোর
কখন দরকার?
ধরো তুমি একটা ফাইলে অনেক কিছু চেইঞ্জ করেছো, কিন্তু এখন মনে হচ্ছে — “না, আগেরটাই ভালো ছিলো।” কমিট করোনি এখনো। তাহলে কি করবে? ফাইলটাকে আগের অবস্থায় ফিরিয়ে নিতে চাও।
এই কাজেই 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.txt | git restore file.txt |
| আনস্টেজ করা | git reset HEAD file.txt | git restore --staged file.txt |
মনে রাখো
git restore file.txt → চেইঞ্জ বাতিল (আনস্টেজড)
git restore --staged file.txt → স্টেজ থেকে বের করো
git restore . → সব চেইঞ্জ বাতিল
টিপ:
git restoreব্যবহারের আগে সবসময়git statusআরgit diffদিয়ে চেক করো — কি বাতিল হচ্ছে!