@ বেন্টোলো দ্বারা উল্লিখিত হিসাবে, আপনি যে ফাইলগুলির অভিযোগ করছেন সেগুলি আপনি নিজে নিজে মুছতে পারেন, শাখাগুলি স্যুইচ করতে পারেন এবং ম্যানুয়ালি এগুলি আবার যুক্ত করতে পারেন add তবে আমি ব্যক্তিগতভাবে "গিটের মধ্যে থাকা" পছন্দ করি।
এটি করার সর্বোত্তম উপায় হ'ল স্ট্যাশকে একটি শাখায় রূপান্তর করা। এটি একবার শাখা হয়ে গেলে আপনি নিজের জ্ঞাত এবং পছন্দসই সাধারণ শাখা-সম্পর্কিত কৌশলগুলি / সরঞ্জামগুলি ব্যবহার করে গিটটিতে স্বাভাবিকভাবে কাজ করতে পারেন। আপনার তালিকাভুক্ত ত্রুটি না থাকলেও এটি স্ট্যাশগুলির সাথে কাজ করার জন্য একটি দরকারী সাধারণ কৌশল। এটি ভালভাবে কাজ করে কারণ একটি স্ট্যাশ সত্যিই কভারগুলির অধীনে একটি প্রতিশ্রুতি (পিএস দেখুন)।
স্ট্যাশকে একটি শাখায় রূপান্তর করা
নিম্নলিখিত যখন স্ট্যাশ তৈরি হয়েছিল তখন হেডের উপর ভিত্তি করে একটি শাখা তৈরি করে এবং তারপর স্ট্যাশ প্রয়োগ করে (এটি এটি প্রতিশ্রুতি দেয় না)।
git stash branch STASHBRANCH
"স্ট্যাশ শাখা" নিয়ে কাজ করা
আপনি এখন যা করবেন তা স্ট্যাশ এবং কোথায় আপনার টার্গেট শাখা (যা আমি ORIGINALBRANCH বলব) এর মধ্যে সম্পর্কের উপর নির্ভর করে।
বিকল্প 1 - স্ট্যাশ শাখাটি সাধারণত রিবেস করুন (স্ট্যাশ করার পরে প্রচুর পরিবর্তন হয়)
আপনি যদি নিজের অরিজিনালব্র্যাঞ্চে প্রচুর পরিবর্তন করে থাকেন তবে আপনি সম্ভবত স্থানীয় কোনও শাখার মতো স্ট্যাশব্র্যাঞ্চকে ভালভাবে চিকিত্সা করছেন। স্ট্যাশব্র্যাঞ্চে আপনার পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন, এটি অরিজিনালব্র্যাঞ্চে পুনর্বাসিত করুন, তারপরে অরিজিনালব্র্যাঞ্চে স্যুইচ করুন এবং এটির উপর স্ট্যাশব্র্যাঞ্চ পরিবর্তনগুলি পুনর্বার / মার্জ করুন। যদি কোন্দল হয় তবে এগুলি স্বাভাবিকভাবে পরিচালনা করুন (এই পদ্ধতির অন্যতম সুবিধা হ'ল আপনি বিরোধগুলি দেখতে এবং সমাধান করতে পারেন)।
বিকল্প 2 - স্ট্যাশগুলির সাথে ম্যাচ করার জন্য মূল শাখাটি পুনরায় সেট করুন (স্ট্যাশ থেকে সীমিত পরিবর্তন)
আপনি যদি কিছু পর্যায়ের পরিবর্তনগুলি রেখে কেবল স্থির হয়ে থাকেন, তবে প্রতিশ্রুতিবদ্ধ হন এবং আপনি যা করতে চান তা হ'ল অতিরিক্ত পরিবর্তনগুলি গ্রহণ করা উচিত যেখানে স্ট্যাশ করার সময় স্টেজ হয় না যেখানে আপনি নিম্নলিখিতটি করতে পারেন। এটি আপনার কার্যকরী অনুলিপি পরিবর্তন না করে আপনার মূল শাখা এবং সূচিতে ফিরে যাবে। শেষ ফলাফলটি আপনার কাজের অনুলিপিতে আপনার অতিরিক্ত স্ট্যাশ পরিবর্তনগুলি হবে।
git symbolic-ref HEAD refs/heads/ORIGINALBRANCH
git reset
পটভূমি
স্ট্যাশগুলি হ'ল কমিটগুলি শাখা / ট্যাগ পছন্দ করে (প্যাচ নয়)
পিএস, এটি কোনও প্যাচ হিসাবে স্ট্যাশকে ভাবতে প্ররোচিত হয় (ঠিক যেমন এটি কোনও প্যাচ হিসাবে প্রতিশ্রুতি দেওয়ার কথা ভাবায় লোভনীয়) তবে স্ট্যাশ আসলে এটি শিরোনামের বিরুদ্ধে প্রতিশ্রুতি it আপনি যখন আবেদন করবেন / পপ করবেন তখন আপনি চেরি-বেছে নেওয়ার মতো কিছু আপনার বর্তমান শাখায় তুলছেন। মনে রাখবেন যে শাখাগুলি এবং ট্যাগগুলি কেবল কমিটের উল্লেখ মাত্র, সুতরাং বিভিন্ন উপায়ে স্ট্যাশ, শাখা এবং ট্যাগগুলি প্রতিশ্রুতিবদ্ধ (এবং এর ইতিহাস) এ নির্দেশ করার বিভিন্ন উপায়।
আপনি যখন কাজের ডিরেক্টরি পরিবর্তন না করে তখনও কখনও কখনও প্রয়োজন
পিপিএস, আপনার কেবলমাত্র প্যাচ এবং / অথবা - - অন্তর্ভুক্ত-ট্র্যাক ছাড়াই স্ট্যাশ ব্যবহার করার পরে এই কৌশলটির প্রয়োজন হতে পারে। এমনকি কার্যকরী ডিরেক্টরিগুলি পরিবর্তন না করেও এই বিকল্পগুলি কখনও কখনও স্ট্যাশ তৈরি করতে পারে আপনি কেবল ফিরে আবেদন করতে পারবেন না। আমি অবশ্যই পুরোপুরি বুঝতে পারছি না তা স্বীকার করতে হবে। কিছু আলোচনার জন্য http://git.661313.n2.nabble.com/stash-refuses-to-pop-td7453780.html দেখুন ।