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 revert দিয়ে তুমি কোনো কমিটের চেইঞ্জ বাতিল করতে পারো — কিন্তু হিস্ট্রি মুছে না! এটা একটা নতুন কমিট তৈরি করে যেটা আগের কমিটের উল্টো কাজ করে।

reset vs revert

resetrevert
হিস্ট্রিমুছে ফেলে ❌রেখে দেয় ✅
নতুন কমিটনাহ্যাঁ
পুশ করার পরঝুঁকিপূর্ণ ⚠️নিরাপদ ✅
টিমে কাজসমস্যা হতে পারেসমস্যা হবে না

সহজ কথায়:

  • reset = সময়ে পিছনে যাওয়া (হিস্ট্রি মুছে যায়)
  • revert = ভুলটা ঠিক করে নতুন কমিট করা (হিস্ট্রি থাকে)

কিভাবে ব্যবহার করবে?

# হিস্ট্রি দেখো
git log --oneline
# a1b2c3d (HEAD -> main) বাগওয়ালা কমিট
# b2c3d4e ভালো কমিট
# c3d4e5f প্রথম কমিট

# শেষ কমিট রিভার্ট করো
git revert HEAD

গিট একটা এডিটর খুলবে কমিট মেসেজের জন্য। ডিফল্ট মেসেজ রাখতে পারো, অথবা বদলাতে পারো। সেভ করে বেরিয়ে এসো।

আউটপুট:

[main d5e6f7g] Revert "বাগওয়ালা কমিট"
 1 file changed, 1 deletion(-)

এখন হিস্ট্রি দেখো:

git log --oneline
# d5e6f7g (HEAD -> main) Revert "বাগওয়ালা কমিট"
# a1b2c3d বাগওয়ালা কমিট
# b2c3d4e ভালো কমিট
# c3d4e5f প্রথম কমিট

দেখো — পুরানো কমিট হিস্ট্রিতে আছে, কিন্তু তার চেইঞ্জ বাতিল হয়ে গেছে!

নির্দিষ্ট কমিট রিভার্ট

শেষেরটা না, মাঝখানের কোনো কমিট রিভার্ট করতে:

git revert b2c3d4e

মেসেজ ছাড়া রিভার্ট

এডিটর না খোলে মেসেজ দিতে:

git revert HEAD --no-edit

কখন revert ব্যবহার করবে?

  • কোড গিটহাবে পুশ করার পরে কমিট বাতিল করতে চাইলে
  • টিমে কাজ করলে
  • হিস্ট্রি সংরক্ষণ করতে চাইলে

কখন reset ব্যবহার করবে?

  • কোড এখনো পুশ করোনি
  • একা কাজ করছো
  • হিস্ট্রি পরিষ্কার রাখতে চাও

টিপ: সন্দেহ থাকলে সবসময় revert ব্যবহার করো। এটা নিরাপদ!