এখনও অবধি দেওয়া উত্তরগুলি আদর্শ নয় কারণ তাদের একত্রীকরণের বিরোধগুলি সমাধান করতে প্রচুর প্রয়োজনাহীন কাজের প্রয়োজন হয় বা তারা প্রচুর অনুমান করে যা ঘন ঘন মিথ্যা are এটি নিখুঁতভাবে কীভাবে করা যায়। লিঙ্কটি আমার নিজের সাইটে।
আপনি my_branch
যে প্রতিশ্রুতিবদ্ধ হতে চান তাতে অনির্বাচিত পরিবর্তনগুলি রয়েছে master
, সমস্ত পরিবর্তনগুলি বিনা প্রতিশ্রুতি ছাড়াই my_branch
।
উদাহরণ
git merge master
git stash -u
git checkout master
git stash apply
git reset
git add example.js
git commit
git checkout .
git clean -f -d
git checkout my_branch
git merge master
git stash pop
ব্যাখ্যা
master
আপনার শাখায় মার্জ করে শুরু করুন , যেহেতু আপনাকে শেষ পর্যন্ত এটি করতে হবে এবং যে কোনও দ্বন্দ্বের সমাধান করার এখন সেরা সময়।
-u
বিকল্প (ওরফে --include-untracked
) এ git stash -u
আপনি পরেও করতে untracked ফাইল হারানোর করা থেকে আটকায় git clean -f -d
মধ্যে master
।
git checkout master
এটি করা জরুরী হওয়ার পরেও আপনি করবেন না git stash pop
, কারণ আপনার পরে এই স্ট্যাশ দরকার হবে। আপনি যদি তৈরি হওয়া স্ট্যাশটিকে পপ করেন my_branch
এবং তারপরে এটি git stash
করেন master
, আপনি পরে যখন সেই স্ট্যাশটি প্রয়োগ করবেন তখন অযথা মার্জ সংঘাত সৃষ্টি করবে my_branch
।
git reset
থেকে সমস্ত কিছু আনস্টেজ করে git stash apply
। উদাহরণস্বরূপ, স্ট্যাশ-এ সংশোধন করা হয়েছে এমন ফাইলগুলি কিন্তু master
"আমাদের দ্বারা মুছে ফেলা" বিরোধ হিসাবে মঞ্চায়িত হয় না ।
git checkout .
এবং git clean -f -d
প্রতিশ্রুতিবদ্ধ নয় এমন সমস্ত কিছু বাতিল করুন: ট্র্যাক করা ফাইলগুলিতে সমস্ত পরিবর্তন এবং সমস্ত অচিহ্নযুক্ত ফাইল এবং ডিরেক্টরি। এগুলি ইতিমধ্যে স্ট্যাশে সংরক্ষণ করা হয়েছে এবং যদি এটিকে ছেড়ে দেওয়া হয় master
তবে ফিরে স্যুইচ করার সময় অহেতুক সংহত দ্বন্দ্বের কারণ হতে পারে my_branch
।
শেষটি git stash pop
মূলটির উপর ভিত্তি করে my_branch
হবে এবং তাই কোনও মার্জ সংঘাত সৃষ্টি করবে না। যাইহোক, যদি আপনার স্ট্যাশ-এ অনতিবিলম্বিত ফাইল থাকে যা আপনি মাস্টার হিসাবে প্রতিশ্রুতিবদ্ধ করেছেন তবে গিট অভিযোগ করবে যে এটি "স্ট্র্যাশ থেকে অবিরত ফাইলগুলি পুনরুদ্ধার করতে পারেনি"। এই সংঘাতের সমাধান করতে, আপনার কাজ গাছ, তারপর থেকে যারা ফাইল মুছে দিন git stash pop
, git add .
এবং git reset
।