গিট মার্জ ত্রুটি


264

আমার 9-sign-in-outপুরোপুরি কার্যকরী কোড সহ একটি গিট শাখা রয়েছে এবং আমি এটিকে মাস্টারে পরিণত করতে চাই। আমি বর্তমানে মাস্টার শাখায় আছি

$ git branch
9-sign-in-out
* master

আমি 9-sign-in-outশাখায় স্যুইচ করার চেষ্টা করছি , তবে এটি আমাকে অনুমতি দেয় না:

$ git checkout 9-sign-in-out
app/helpers/application_helper.rb: needs merge
config/routes.rb: needs merge
error: you need to resolve your current index first

কোনও ধারণা কীভাবে আমি সমস্ত মাস্টার শাখার ত্রুটি উপেক্ষা করে শাখাটি মাস্টারে পরিণত করতে 9-sign-in-outপারি? গিট রিবেস হতে পারে ? তবে আমি 9-sign-in-outশাখায় কোডটি হারাতে চাই না ।


এর অর্থ কি আপনি 9-সাইন-ইন-এ আপনার আপত্তিবিহীন কোডটি হারাতে চান না?
মাওভিস লেডফোর্ড

@ মাওভিস: আমি ইতিমধ্যে শাখায় আমার কোডগুলি 9 সাইন ইন-আউট প্রতিশ্রুতিবদ্ধ করেছি।
সায়ানী

উত্তর:


531

এই ত্রুটি বার্তাগুলির অর্থ কী তা বোঝার পক্ষে - needs mergeএবং এটি error: you need to resolve your current index firstবোঝায় যে একটি মার্জ ব্যর্থ হয়েছে, এবং সেই ফাইলগুলিতে দ্বন্দ্ব রয়েছে। যদি আপনি সিদ্ধান্ত নিয়েছেন যে আপনি যা যা মার্জ করার চেষ্টা করছেন তা হ'ল একটি খারাপ ধারণা ছিল তবে আপনি জিনিসগুলি স্বাভাবিক অবস্থায় ফিরিয়ে দিতে পারেন:

git reset --merge

যাইহোক, অন্যথায় আপনার গিট ম্যানুয়ালটিতে বর্ণিত হিসাবে সেই মার্জ সংঘাতগুলি সমাধান করা উচিত ।


একবার আপনি কোনও কৌশল দ্বারা এটি মোকাবেলা করার পরে আপনি 9-sign-in-outশাখা চেকআউট করতে সক্ষম হওয়া উচিত । শুধু পুনঃনামকরনের সঙ্গে সমস্যা আপনার 9-sign-in-outকাছে master, যেমন প্রস্তাবিত wRAR এর উত্তর যে আপনি যদি কারো সাথে আপনার পূর্ববর্তী মাস্টার শাখা ভাগ করেছি, এই তাদের জন্য সমস্যা সৃষ্টি করবে, যেহেতু যদি দুটি শাখা ইতিহাস চলেনি, আপনি প্রকাশনা পুনর্লিখিত করা হবে হয় ইতিহাস।

মূলত আপনি যা করতে চান তা হ'ল আপনার বিষয় শাখায় মার্জ 9-sign-in-outকরা masterকিন্তু ফাইলের সংস্করণগুলি ঠিক টপিক শাখায় রাখা। আপনি নিম্নলিখিত পদক্ষেপের সাহায্যে এটি করতে পারেন:

# Switch to the topic branch:
git checkout 9-sign-in-out

# Create a merge commit, which looks as if it's merging in from master, but is
# actually discarding everything from the master branch and keeping everything
# from 9-sign-in-out:
git merge -s ours master

# Switch back to the master branch:
git checkout master

# Merge the topic branch into master - this should now be a fast-forward
# that leaves you with master exactly as 9-sign-in-out was:
git merge 9-sign-in-out

1
চিহ্নিত করুন, আমি এখন একীভূত করতে আবার ত্রুটি পেয়েছি বলে শেষ পর্যন্ত আমি কী বলছিলাম তা বুঝতে পেরেছি। আমি তবে এই ত্রুটিটি করছি: ::::::::::::: সায়ানী: টুইটার সুইসকা $ গিট চেকআউট মাস্টার ত্রুটি: নিম্নলিখিত ফাইলগুলিতে আপনার স্থানীয় পরিবর্তনগুলি চেকআউট দ্বারা ওভাররাইট করা হবে: ওয়েব্র্যাট.লগ দয়া করে, প্রতিশ্রুতিবদ্ধ আপনি শাখাগুলি স্যুইচ করতে পারার আগে আপনার পরিবর্তনগুলি বা সেগুলি স্ট্যাশ করুন। বাতিল করা হচ্ছে :::::::::::::::::: কোনওভাবেই, ব্রাঙ্কে ওয়েব্র্যাট.লগ ব্যবহার করে এবং এটি মাস্টারের সাথে একীভূত করতে চান?
সায়ানী

1
@ সায়ানী: এটি একটি ভিন্ন ত্রুটি, বিভিন্ন পরিস্থিতি থেকে উদ্ভূত এবং আপনি যদি এতে বিভ্রান্ত হন তবে সে সম্পর্কে নতুন প্রশ্ন জিজ্ঞাসা করা ভাল। (সংক্ষেপে, যদিও, গিট আপনাকে শাখাগুলি স্যুইচ করা থেকে বিরত রেখেছে যেহেতু এতে অনির্ধারিত পরিবর্তনগুলি ওভাররাইট হয়ে যাবে webrat.log)
মার্ক লংগায়ার

আমি পুরো জিনিসটি আরএম করতাম এবং পুনরায় সংযোগ করতাম। তবে এটি ভাল।
sudo

43
git checkout -f 9-sign-in-out # change branch, discarding all local modifications
git branch -M master # rename the current branch to master, discarding current master

3
আমি মনে করি চেকআউটটি জোর করার পরিবর্তে নীচের প্রস্তাবিত মত মার্জটিকে পুনরায় সেট করতে এটির আরও পরিস্কারক।
টমাস

8

যেমন পরামর্শ দেওয়া হয়েছে git status,

Unmerged paths:                                                                                                                                
(use "git add <file>..." to mark resolution)                                                                                                 

    both modified:   a.jl                                  
    both modified:   b.jl

আমি git addমার্জ শেষ করতাম , তারপরে ঠিকঠাক git checkoutকাজ করে।



-6

গিট কমিট-এম "মার্জড মাস্টার ফিক্স কোন্দল" "

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.