গিট-এ, আপনি যদি এতে সন্তুষ্ট না হন তবে কীভাবে আপনি রিবেস রোলব্যাক করবেন?
গিটের পুনর্বাসনের জন্য শুকনো রান নেই। যদি আমি রিবেস করেছি এবং এটি এখনও ঠেলাঠেলি না করেছি, তবে কীভাবে আগে কখনও হয় নি আমি কীভাবে রোলব্যাক করব?
গিট-এ, আপনি যদি এতে সন্তুষ্ট না হন তবে কীভাবে আপনি রিবেস রোলব্যাক করবেন?
গিটের পুনর্বাসনের জন্য শুকনো রান নেই। যদি আমি রিবেস করেছি এবং এটি এখনও ঠেলাঠেলি না করেছি, তবে কীভাবে আগে কখনও হয় নি আমি কীভাবে রোলব্যাক করব?
উত্তর:
রিবেস শুরু হওয়ার আগে প্রথম ক্রিয়াটি খুঁজে পেতে আপনি রিফ্লগটি ব্যবহার করতে পারেন এবং তারপরে পুনরায় সেট করুন - এটিকে আবার ফিরিয়ে দিন। যেমন
$ git reflog
b710729 HEAD@{0}: rebase: some commit
5ad7c1c HEAD@{1}: rebase: another commit
deafcbf HEAD@{2}: checkout: moving from master to my-branch
...
$ git reset HEAD@{2} --hard
রিবেস শুরু হওয়ার আগে এখন আপনার ফিরে আসা উচিত।
পুনরায় সেট করার জন্য সঠিক জায়গাটি সন্ধান করার জন্য, আপনি কেবলমাত্র "রিবেস" দিয়ে শুরু না হওয়া শীর্ষের নিকটস্থ প্রবেশিকাটি বেছে নিন ।
রি-বেসের ফলে হয়, তাহলে শুধু আপনি ডালে করেছ, IE আপনি কোন unpushed বদ্ধ পরিকর / পরিবর্তন - তারপর আপনি শুধু সঙ্গে স্থানীয় শাখা মুছতে পারবে git branch -Dএবং তারপর আবার এটি চেক আউট:
$ git checkout my-branch
$ git rebase master
// not happy with result
$ git checkout master
$ git branch -D my-branch
$ git checkout my-branch
বা একই প্রভাবের জন্য, আপনি মূল শাখায় পুনরায় সেট করতে পারেন:
$ git reset --hard origin/my-branch
আপনি যদি অন্য চাপানো কমিটগুলি করার সময় এটি করেন, তবে আপনি সেগুলি হারাবেন। সেক্ষেত্রে আপনি যেখানে প্রতিশ্রুতিবদ্ধ করেছিলেন সেগুলি রিফ্লগ এন্ট্রিতে ফিরে যেতে কেবল উপরের রেফ্লগ পদ্ধতির ব্যবহার করুন।
ORIG_HEADশাখার মূল হ্যাশ মানটিকে পুনরায় সেট করা হবে to সুতরাং এর জন্য 2 নম্বর সন্ধান করার পরিবর্তে HEAD@{2}আপনি কেবল ব্যবহার করতে পারেন ORIG_HEAD... তবে কেবলORIG_HEAD অব্যবহৃত থাকলেই । একগুচ্ছ গিট কমান্ড সেট করে দেয় (রিবাজে, এম, রিসেট, এবং একত্রীকরণ, বিভিন্ন পরিস্থিতিতে)।
রিবেস পুরানো অবস্থার ব্যাকআপ রাখে ORIG_HEAD।
সুতরাং আপনি চালিয়ে শেষ রিবেসটি ফিরিয়ে আনতে পারেন:
git reset --hard ORIG_HEAD