উত্তর:
আপনার প্রয়োজন মতো সমস্ত শব্দ নিম্নলিখিত:
git stash
git checkout branch123
git stash apply
তারপরে আপনার মাস্টার শাখাকে স্পর্শ না করে আপনার নিজের শাখায় ফিরে আসা উচিত।
stashস্থানীয় পরিবর্তনগুলি সরিয়ে দেয়, তারপরে stash applyসেগুলি ফিরিয়ে আনবে।
git reset --hard HEADএবং আপনি আপনার মাস্টার শাখায় শেষ প্রতিশ্রুতিতে ফিরে এসেছেন।
গৃহীত উত্তরটি সর্বাধিক পুঙ্খানুপুঙ্খ, তবে একটি বিশেষ ক্ষেত্রে রয়েছে যেখানে আপনি সরল করতে পারবেন। ওয়ার্কিং ডিরেক্টরিতে আপনি যে ফাইলগুলি সংশোধন করেছেন তা যদি উভয় ক্ষেত্রেই অভিন্ন হয় masterএবং branch123আপনি কেবল তা করতে পারেন
git checkout branch123
কোনওরকম স্ট্যাশ করার দরকার নেই, যেহেতু এর ডিফল্ট আচরণটি checkoutআপনার কার্যকরী ডিরেক্টরিতে পরিবর্তিত ফাইলগুলি ওভাররাইট করা না হয়, সুতরাং আপনি কোনও কিছু হারাবেন না। (ক্যাসকেবেল প্রথমে মন্তব্যগুলিতে এটি উল্লেখ করা হয়েছিল)
অন্যান্য ব্যক্তিরা মন্তব্যে যেমন উল্লেখ করেছেন, branch123এখনও উপস্থিত না থাকলে আপনি তা করতে পারেন
git checkout -b branch123
আমি এখানে যা পেয়েছি তার ভিত্তিতে ।
git checkout -b newbranch
masterএবং branch123। আমার সম্পাদিত উত্তর দেখুন।
git stash আপনার যা প্রয়োজন তা হল
গিট-সরঞ্জাম-স্ট্যাশিংয়ে একটি সম্পূর্ণ ব্যাখ্যা পাওয়া যাবে
ফাইলগুলি চেক আউট করার সময় একটি নতুন শাখা তৈরি করা সম্ভব হলেও বিদ্যমান শাখাটি চেকআউট করা সম্ভব না হওয়ায়, কাজ করার জন্য অস্থায়ী শাখা ব্যবহার করে আমি নিম্নলিখিত কৌশলটি পেয়েছি:
এই দৃশ্যটি কমপক্ষে ভিএস 2015 গিট প্লাগইন নিয়ে কাজ করে তবে সম্ভবত কোনও গিট সরঞ্জাম দিয়ে কাজ করবে।
সম্পাদনা: আমি জানতে পেরেছি যে মার্জ করার আগে আপনাকে টেম্প শাখার একটি রিবেস (গিট রিবেস --অন্টো) করতে হবে। অন্যথায় মাস্টার পরিবর্তনগুলি সংযুক্তিতে অন্তর্ভুক্ত করা হবে। উপরে একটি অতিরিক্ত পদক্ষেপ 3.5। রিবেস সম্পর্কে এখানে আরও দেখুন: https://git-scm.com/book/en/v2/Git-Branching- রিবেসিং