আমি আমার কিছু পরীক্ষামূলক পরিবর্তনগুলির সাথে ভুল শাখাটি সরিয়েছি git branch -D branchName
।
আমি কিভাবে শাখাটি পুনরুদ্ধার করব?
আমি আমার কিছু পরীক্ষামূলক পরিবর্তনগুলির সাথে ভুল শাখাটি সরিয়েছি git branch -D branchName
।
আমি কিভাবে শাখাটি পুনরুদ্ধার করব?
উত্তর:
আপনি শাখার শেষ কমিটের SHA1 সন্ধান করতে গিট রেফ্লোগ ব্যবহার করতে পারেন । সেদিক থেকে, আপনি ব্যবহার করে একটি শাখা পুনরায় তৈরি করতে পারেন
git branch branchName <sha1>
সম্পাদনা: @ সেগুলজেএস যেমন বলেছে, branch -D
কমান্ডটি আপনাকে শ 1 বলেছে, তাই যদি আপনি এখনও টার্মিনালটি বন্ধ না করে থাকেন তবে এটি সত্যই সহজ হয়ে যায়। উদাহরণস্বরূপ, এটি মুছে ফেলা হয় এবং তারপরে তত্ক্ষণাত নামের একটি শাখা পুনরুদ্ধার করে master2
:
user@MY-PC /C/MyRepo (master)
$ git branch -D master2
Deleted branch master2 (was 130d7ba). <-- This is the SHA1 we need to restore it!
user@MY-PC /C/MyRepo (master)
$ git branch master2 130d7ba
git branch branchName origin/branchName
যদি আপনি কেবল শাখাটি মুছে ফেলে থাকেন তবে আপনি আপনার টার্মিনালে এই জাতীয় কিছু দেখতে পাবেন:
Deleted branch branch_name(was e562d13)
- যেখানে e562d13 হ'ল একটি অনন্য আইডি (ওরফে "SHA" বা "হ্যাশ") এর সাহায্যে আপনি মুছে ফেলা শাখাটি পুনরুদ্ধার করতে পারেন।
শাখাটি পুনরুদ্ধার করতে, ব্যবহার করুন:
git checkout -b <branch_name> <sha>
উদাহরণস্বরূপ :
git checkout -b branch_name e562d13
প্রথম: .git ডিরেক্টরি সহ আপনার সম্পূর্ণ ডিরেক্টরিটি ব্যাক আপ করুন।
দ্বিতীয়: আপনি git fsck --lost-found
হারানো কমিটের আইডি পেতে ব্যবহার করতে পারেন ।
তৃতীয়: হারানো প্রতিশ্রুতিতে রিবেস বা মার্জ করুন।
চতুর্থ: গিটার সহ-ডি বা - ফোর্স ব্যবহার করার আগে সর্বদা দুবার চিন্তা করুন
এছাড়াও আপনি পারে এই ভাল আলোচনা পড়া কিভাবে ত্রুটি এই ধরনের থেকে পুনরুদ্ধার করা।
সম্পাদনা: যাইহোক, দৌড়াবেন না git gc
(বা এটিকে নিজে চালানোর অনুমতি দিন - যেমন দৌড়াবেন না git fetch
বা অনুরূপ কোনও কিছু নেই) বা আপনি চিরকালের জন্য আপনার প্রতিশ্রুতি হারাতে পারেন।
ধন্যবাদ, এটি কাজ করেছে।
গিট শাখা নতুন_ ব্রাঞ্চ_নাম
sha1
গিট চেকআউট নতুন_ ব্রাঞ্চ_নাম
// আমার পুরানো শাখায় আমার পুরানো চেক করা ফাইলগুলি দেখতে পারে
এই পদক্ষেপগুলি অনুসরণ করুন:
1: প্রবেশ করুন:
git reflog show
এটি সমস্ত প্রতিশ্রুতিবদ্ধ ইতিহাস প্রদর্শন করবে, আপনাকে ফিরে পেতে চাইলে সর্বশেষ প্রতিশ্রুতি রয়েছে এমন শা -1 নির্বাচন করতে হবে
2: আপনি নির্বাচিত শা -1 আইডি দিয়ে একটি শাখার নাম তৈরি করুন যেমন: 8c87714
git branch your-branch-name 8c87714
এটি আমার পক্ষে কাজ করেছে:
git fsck --full --no-reflogs --unreachable --lost-found
git show d6e883ff45be514397dcb641c5a914f40b938c86
git branch helpme 15e521b0f716269718bb4e4edc81442a6c11c139