ত্রুটি বার্তা "নিম্নলিখিত ফাইলগুলিতে আপনার স্থানীয় পরিবর্তনগুলি মার্জ দ্বারা ওভাররাইট করা হবে ” গিট সংস্করণ নিয়ন্ত্রণ ব্যবস্থায় ঘটে। এই ত্রুটিটি ঘটে যদি আপনি একটি ফাইল সংশোধন করেন যার রিমোট রিপোজিটরিতেও পরিবর্তন রয়েছে৷
এই ত্রুটি বার্তাটি এড়ানো হয় যদি দূরবর্তী সংগ্রহস্থলে পরিবর্তন করা হয় এমন কোনো অপ্রয়োজনীয় ফাইল না থাকে। এই বার্তাটি অনুভব করার সময়, আপনার অন্যান্য দলের সদস্যদের সাথে পরামর্শ করা এবং তাদের মতামত জিজ্ঞাসা করা ভাল। আপনি আপনার স্থানীয় পরিবর্তনগুলিকে একত্রিত করতে চান বা সংগ্রহস্থলে উপস্থিত সংস্করণটি রাখতে চান, সকলকে বোর্ডে রাখাই উত্তম৷
ভান্ডার কি? Git এ পুশ এবং টান কি?
একটি সংগ্রহস্থল হল কোডের জন্য এক ধরনের সঞ্চয়স্থান যা গিটহাব সংস্করণ নিয়ন্ত্রণ ব্যবস্থার মাধ্যমে দলের সদস্যদের দ্বারা ক্রমাগত পরিবর্তিত এবং প্রাপ্ত হয়। একটি 'টান' এর মানে হল যে আপনি আপনার স্থানীয় স্টোরেজ/আইডিই (ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট) যেমন পাইচর্ম ইত্যাদিতে সংগ্রহস্থলের সর্বশেষ সংস্করণটি টেনে আনছেন।
একটি টান পরে, আপনি কোড পরিবর্তন করুন বা আরো বৈশিষ্ট্য যোগ করুন. একবার আপনি হয়ে গেলে, আপনি ‘ধাক্কা দিন’ কোডটি সংগ্রহস্থলে যাতে পরিবর্তনগুলি সংরক্ষিত হয় এবং সংযোজন করা হয়। কোডটি অন্যান্য লোকেদের কাছেও অ্যাক্সেসযোগ্য হয়৷
৷আপনি যদি গিথুব সংস্করণ নিয়ন্ত্রণে নতুন হন, তবে আপনাকে প্রথমে সমস্ত মৌলিক বিষয়গুলির মধ্য দিয়ে যাওয়ার পরামর্শ দেওয়া হচ্ছে। এই নিবন্ধে, আমরা ধরে নিচ্ছি যে আপনার কাছে ইতিমধ্যেই প্রাথমিক জ্ঞান রয়েছে এবং আপনি সমস্ত ইনস এবং আউট জানেন৷
'নিম্নলিখিত ফাইলগুলিতে আপনার স্থানীয় পরিবর্তনগুলি মার্জ করার মাধ্যমে ওভাররাইট করা হবে' কীভাবে ঠিক করবেন?
এই ত্রুটি বার্তার রেজোলিউশন আপনি কি করতে চান তার উপর নির্ভর করে। আপনি আপনার স্থানীয় পরিবর্তনগুলি বাতিল করতে পারেন এবং সংগ্রহস্থলে টানতে পারেন অথবা আপনি আপনার স্থানীয় পরিবর্তনগুলিকে একটি স্ট্যাশে সংরক্ষণ করতে পারেন এবং সংগ্রহস্থল থেকে সংস্করণটি টেনে আনতে পারেন। এটা সব আপনার পছন্দ উপর নির্ভর করে.
তাই, আমরা সুপারিশ করছি যে আপনি আপনার দলের সদস্যদের সাথে পরামর্শ করুন এবং নিশ্চিত করুন যে আপনি সকলেই একই পৃষ্ঠায় আছেন। এগিয়ে যাওয়ার আগে। আপনি যদি ভুল করেন বা ভুল সংস্করণে চাপ দেন, তাহলে এটি পুরো দলকে প্রভাবিত করতে পারে।
পদ্ধতি 1:স্থানীয় পরিবর্তনগুলিকে ওভাররাইট করার জন্য জোর করে জোর করে
যদি আপনি স্থানীয়ভাবে করা পরিবর্তনগুলি সম্পর্কে চিন্তা না করেন এবং সংগ্রহস্থল থেকে কোড প্রাপ্ত করতে চান, আপনি একটি টান জোর করতে পারেন. এটি আপনার কম্পিউটারে করা সমস্ত স্থানীয় পরিবর্তনগুলিকে ওভাররাইট করবে সংগ্রহস্থলে সংস্করণের একটি ডুপ্লিকেট কপি প্রদর্শিত হবে৷
আপনার IDE-তে নিম্নলিখিত কমান্ডগুলি চালান:
git reset -- hard git pull
এটি অবিলম্বে আপনার সমস্ত স্থানীয় পরিবর্তনগুলিকে ধ্বংস করে দেবে তাই নিশ্চিত করুন যে আপনি কী করছেন তা আপনি জানেন এবং আপনার স্থানীয় পরিবর্তনের প্রয়োজন নেই৷
পদ্ধতি 2:উভয় পরিবর্তন রাখা (স্থানীয় এবং রেপো থেকে)
আপনি যদি উভয় পরিবর্তনই রাখতে চান (স্থানীয়ভাবে করা পরিবর্তন এবং সংগ্রহস্থলে উপস্থিত পরিবর্তন), আপনি আপনার পরিবর্তনগুলি যোগ করতে এবং কমিট করতে পারেন। যখন আপনি টানবেন, স্পষ্টতই একটি মার্জ বিরোধ হবে। এখানে আপনি আপনার IDE-এর টুলগুলি ব্যবহার করতে পারেন (যেমন Difftool এবং mergetool) কোডের দুটি অংশের তুলনা করতে এবং কোন পরিবর্তনগুলি রাখতে হবে এবং কোনটি সরাতে হবে তা নির্ধারণ করতে। এটাই মধ্যম পথ; আপনি ম্যানুয়ালি অপসারণ না করা পর্যন্ত কোনো পরিবর্তন নষ্ট হবে না৷
৷git add $the_file_under_error git commit git pull
যখন আপনি একটি মার্জ বিরোধ পান, সেই বিরোধ সমাধানের সরঞ্জামগুলি পপ করুন এবং লাইন দ্বারা লাইন চেক করুন৷
পদ্ধতি 3:উভয় পরিবর্তন রাখা কিন্তু প্রতিশ্রুতিবদ্ধ নয়
এই পরিস্থিতি সময়ে সময়ে ঘটে যেখানে বিকাশকারীরা প্রতিশ্রুতিবদ্ধ হতে প্রস্তুত নয় কারণ কিছু আংশিকভাবে ভাঙা কোড রয়েছে যা আপনি ডিবাগ করছেন। এখানে আমরা পরিবর্তনগুলি নিরাপদে লুকিয়ে রাখতে পারি, সংগ্রহস্থল থেকে সংস্করণটি টেনে আনতে পারি এবং তারপরে আপনার কোড আনস্ট্যাশ করতে পারি।
git stash save --keep-index
অথবা
git stash
git pull git stash pop
আপনি স্ট্যাশ পপ করার পরে কিছু দ্বন্দ্ব থাকলে, আপনার স্বাভাবিক উপায়ে সেগুলি সমাধান করা উচিত। আপনি কমান্ডটিও ব্যবহার করতে পারেন:
git stash apply
পপ এর পরিবর্তে যদি আপনি দ্বন্দ্বের কারণে লুকিয়ে রাখা কোড হারাতে প্রস্তুত না হন।
যদি একত্রীকরণ আপনার জন্য একটি কার্যকর বিকল্প বলে মনে হয় না, তাহলে একটি রিবেস করার কথা বিবেচনা করুন। রিবেসিং হল একটি নতুন বেস কমিটের সাথে কমিটের একটি ক্রম সরানো বা একত্রিত করার প্রক্রিয়া। রিবেসিংয়ের ক্ষেত্রে, কোডটি এতে পরিবর্তন করুন:
git stash git pull --rebase origin master git stash pop
পদ্ধতি 4:আপনার কোডের 'নির্দিষ্ট' অংশগুলিতে পরিবর্তন করুন
আপনি যদি কোডের নির্দিষ্ট অংশে পরিবর্তন করতে চান এবং সবকিছু প্রতিস্থাপন করতে না চান, তাহলে আপনি কমিট করতে পারেন আপনি যে সমস্ত কিছু ওভাররাইট করতে চান না এবং তারপর পদ্ধতি 3 অনুসরণ করুন৷ আপনি সংগ্রহস্থলে উপস্থিত সংস্করণ থেকে যে পরিবর্তনগুলি ওভাররাইট করতে চান তার জন্য আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
git checkout path/to/file/to/revert
অথবা
git checkout HEAD^ path/to/file/to/revert
এছাড়াও, আপনাকে নিশ্চিত করতে হবে যে ফাইলটি এর মাধ্যমে স্টেজ করা হয়নি:
git reset HEAD path/to/file/to/revert
তারপর পুল কমান্ড দিয়ে এগিয়ে যান:
git pull
এটি তখন সংগ্রহস্থল থেকে সংস্করণ আনার চেষ্টা করবে৷