আমি জানি কীভাবে গিট শাখায় পুরানো প্রতিশ্রুতিগুলিতে ফিরে যেতে হয়, তবে আমি কীভাবে কোনও ট্যাগ দ্বারা নির্ধারিত শাখার রাজ্যে ফিরে যেতে পারি? আমি এই জাতীয় কিছু কল্পনা:
git revert -bytag "Version 1.0 Revision 1.5"
এটা কি সম্ভব?
আমি জানি কীভাবে গিট শাখায় পুরানো প্রতিশ্রুতিগুলিতে ফিরে যেতে হয়, তবে আমি কীভাবে কোনও ট্যাগ দ্বারা নির্ধারিত শাখার রাজ্যে ফিরে যেতে পারি? আমি এই জাতীয় কিছু কল্পনা:
git revert -bytag "Version 1.0 Revision 1.5"
এটা কি সম্ভব?
উত্তর:
গিট ট্যাগগুলি কেবল প্রতিশ্রুতিবদ্ধতার নির্দেশক। সুতরাং আপনি সেগুলি হাইডের মতো, ব্রাঞ্চের নাম বা শা হ্যাশগুলি করার মতোই ব্যবহার করেন। আপনি যে কোনও গিট কমান্ডের সাথে ট্যাগ ব্যবহার করতে পারেন যা প্রতিশ্রুতি / পুনর্বিবেচনা যুক্তিগুলি গ্রহণ করে। আপনি এটি git rev-parse tagname
প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতি প্রদর্শন করার জন্য এটি চেষ্টা করতে পারেন ।
আপনার ক্ষেত্রে কমপক্ষে এই দুটি বিকল্প রয়েছে:
বর্তমান শাখাকে নির্দিষ্ট ট্যাগে পুনরায় সেট করুন:
git reset --hard tagname
আপনাকে ট্যাগের রাজ্যে আনতে শীর্ষে রিভার্ট কমিট জেনারেট করুন:
git revert tag
যদি আপনি সংঘর্ষে লিপ্ত হন তবে এটি কিছু বিবাদগুলির পরিচয় দিতে পারে।
আপনি গিট চেকআউট ব্যবহার করতে পারেন।
আমি গ্রহণযোগ্য সমাধান চেষ্টা করেছিলাম কিন্তু একটি ত্রুটি পেয়েছি, warning: refname '<tagname>' is ambiguous'
তবে উত্তরটি যেমন বলেছে, ট্যাগগুলি প্রতিশ্রুতিবদ্ধতার পয়েন্টারের মতো আচরণ করে, সুতরাং আপনি যেমন একটি প্রতিশ্রুতিবদ্ধ হ্যাশ দিয়েছিলেন, আপনি কেবল ট্যাগটি চেকআউট করতে পারেন। পার্থক্য কেবলমাত্র আপনি এটি দিয়ে tags/
:
git checkout tags/<tagname>