আপনি আপনার মার্জটি শেষ করেন নি (MERGE_HEAD বিদ্যমান)


1033

আমি 'f' নামে একটি শাখা তৈরি করেছি এবং মাস্টারকে চেকআউট করেছি। git pullকমান্ডটি চেষ্টা করার পরে আমি এই বার্তাটি পেয়েছি:

You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.

আমি যখন চেষ্টা করি তখন git statusতা আমাকে নিম্নলিখিতটি দেয়:

On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 13 different commit(s) each, respectively.
#
# Changes to be committed:
#
#   modified:   app/assets/images/backward.png
#   modified:   app/assets/images/forward.png
#   new file:   app/assets/images/index_background.jpg
#   new file:   app/assets/images/loading.gif
#   modified:   app/assets/images/pause.png
#   modified:   app/assets/images/play.png
#   new file:   app/assets/javascripts/jquery-ui-bootstrap.js
#   new file:   app/assets/stylesheets/jquery-ui-bootstrap.css
#   modified:   app/controllers/friends_controller.rb
#   modified:   app/controllers/plays_controller.rb
#   modified:   app/mailers/invite_friends_mailer.rb
#   modified:   app/mailers/send_plays_mailer.rb
#   modified:   app/mailers/shot_chart_mailer.rb
#   modified:   app/views/friends/show_plays.html.erb
#   modified:   app/views/layouts/application.html.erb
#   modified:   app/views/plays/_inbox_table.html.erb
#   modified:   app/views/plays/show.html.erb
#   modified:   app/views/welcome/contact_form.html.erb
#   modified:   app/views/welcome/index.html.erb
#   modified:   log/development.log
#   modified:   log/restclient.log
#   new file:   tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
#   modified:   tmp/cache/assets/C64/930/sprockets%2F65aa1510292214f4fd1342280d521e4c
#   new file:   tmp/cache/assets/C73/C40/sprockets%2F96912377b93498914dd04bc69fa98585
#   new file:   tmp/cache/assets/CA9/090/sprockets%2Fa71992733a432421e67e03ff1bd441d8
#   new file:   tmp/cache/assets/CCD/7E0/sprockets%2F47125c2ebd0e8b29b6511b7b961152a1
#   modified:   tmp/cache/assets/CD5/DD0/sprockets%2F59d317902de6e0f68689899259caff26
#   modified:   tmp/cache/assets/CE3/080/sprockets%2F5c3b516e854760f14eda2395c4ff2581
#   new file:   tmp/cache/assets/CED/B20/sprockets%2F423772fde44ab6f6f861639ee71444c4
#   new file:   tmp/cache/assets/D0C/E10/sprockets%2F8d1f4b30c6be13017565fe1b697156ce
#   new file:   tmp/cache/assets/D12/290/sprockets%2F93ae21f3cdd5e24444ae4651913fd875
#   new file:   tmp/cache/assets/D13/FC0/sprockets%2F57aad34b9d3c9e225205237dac9b1999
#   new file:   tmp/cache/assets/D1D/DE0/sprockets%2F5840ff4283f6545f472be8e10ce67bb8
#   new file:   tmp/cache/assets/D23/BD0/sprockets%2F439d5dedcc8c54560881edb9f0456819
#   new file:   tmp/cache/assets/D24/570/sprockets%2Fb449db428fc674796e18b7a419924afe
#   new file:   tmp/cache/assets/D28/480/sprockets%2F9aeec798a04544e478806ffe57e66a51
#   new file:   tmp/cache/assets/D3A/ED0/sprockets%2Fcd959cbf710b366c145747eb3c062bb4
#   new file:   tmp/cache/assets/D3C/060/sprockets%2F363ac7c9208d3bb5d7047f11c159d7ce
#   new file:   tmp/cache/assets/D48/D00/sprockets%2Fe23c97b8996e7b5567a3080c285aaccb
#   new file:   tmp/cache/assets/D6A/900/sprockets%2Fa5cece9476b21aa4d5f46911ca96c450
#   new file:   tmp/cache/assets/D6C/510/sprockets%2Fb086a020de3c258cb1c67dfc9c67d546
#   new file:   tmp/cache/assets/D70/F30/sprockets%2Facf9a6348722adf1ee7abbb695603078
#   new file:   tmp/cache/assets/DA3/4A0/sprockets%2F69c26d0a9ca8ce383e20897cefe05aa4
#   new file:   tmp/cache/assets/DA7/2F0/sprockets%2F61da396fb86c5ecd844a2d83ac759b4b
#   new file:   tmp/cache/assets/DB9/C80/sprockets%2F876fbfb9685b2b8ea476fa3c67ae498b
#   new file:   tmp/cache/assets/DBD/7A0/sprockets%2F3640ea84a1dfaf6f91a01d1d6fbe223d
#   new file:   tmp/cache/assets/DC1/8D0/sprockets%2Fe5ee1f1cfba2144ec00b1dcd6773e691
#   new file:   tmp/cache/assets/DCC/E60/sprockets%2Fd6a95f601456c93ff9a1bb70dea3dfc0
#   new file:   tmp/cache/assets/DF1/130/sprockets%2Fcda4825bb42c91e2d1f1ea7b2b958bda
#   new file:   tmp/cache/assets/E23/DE0/sprockets%2Fb1acc25c28cd1fabafbec99d169163d3
#   new file:   tmp/cache/assets/E23/FD0/sprockets%2Fea3dbcd1f341008ef8be67b1ccc5a9c5
#   modified:   tmp/cache/assets/E4E/AD0/sprockets%2Fb930f45cfe7c6a8d0efcada3013cc4bc
#   new file:   tmp/cache/assets/E63/7D0/sprockets%2F77de495a665c3ebcb47befecd07baae6
#   modified:   tmp/pids/server.pid
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Coachbase/
#   log/development.log.orig
#   log/restclient.log.orig

আমার কি করা উচিৎ?

উত্তর:


1916

ঠিক আছে. সমস্যাটি হল আপনার পূর্ববর্তী টানটি স্বয়ংক্রিয়ভাবে একত্রিত হতে ব্যর্থ হয়েছে এবং সংঘাতের স্থানে চলে গেছে। এবং পরবর্তী টানের আগে দ্বন্দ্বটি সঠিকভাবে সমাধান করা যায় নি।

  1. মার্জটি পূর্বাবস্থায় ফেরা এবং আবার টানুন।

    মার্জটিকে পূর্বাবস্থায় ফেরাতে:

    git merge --abort [যেহেতু গিট সংস্করণ ১.7.৪]

    git reset --merge [পূর্ববর্তী গিট সংস্করণ]

  2. সংঘাতের সমাধান করুন।

  3. সংযুক্তি যুক্ত করতে এবং প্রতিশ্রুতিবদ্ধ করতে ভুলবেন না।

  4. git pull এখন ঠিক কাজ করা উচিত।


2
আমি চেষ্টা করেছি এবং ফাইলগুলিতে দ্বন্দ্ব দিয়েছি (যখন টান) অটো-মার্জিং অ্যাপ / ভিউ / লেআউট / অ্যাপ্লিকেশন। Html.erb স্ব-মার্জিং লগ / ডেভেলপমেন্ট.লগ কনফ্লিক্ট (বিষয়বস্তু): লগ / সংস্থার মধ্যে বিরোধ মার্জ করুন.আটো স্বয়ংক্রিয়ভাবে মার্জ করা লগ / রেস্টক্লিয়েন্ট.লগ কনফ্লিক্ট (বিষয়বস্তু): লগ / সংলগ্ন.লগ মধ্যে সংঘাতের সংশ্লেষ স্বয়ংক্রিয়ভাবে মার্জ ব্যর্থ হয়েছে; দ্বন্দ্ব সংশোধন করুন এবং তারপরে ফলাফলটি প্রতিশ্রুতিবদ্ধ। আমি নির্দিষ্ট স্থানীয় ফাইলগুলি স্থির করেছি এবং তারপরে আমি চেষ্টা করেছি 'গিট টান' পুলটি সম্ভব নয় কারণ আপনার ফাইলগুলি আনারম করা হয়নি। দয়া করে, এটিকে কার্যক্ষেত্রে ঠিক করুন এবং তারপরে রেজোলিউশন চিহ্নিত করতে যথাযথ হিসাবে 'গিট অ্যাড / আরএম <ফাইল>' ব্যবহার করুন বা 'গিট কমিট-এ' ব্যবহার করুন।
অঙ্কিত সুরি

1
@ অঙ্কিতসুরি, দ্বন্দ্ব সংশোধন করার পরে, আপনি কি তাদের মঞ্চস্থ করে প্রতিশ্রুতিবদ্ধ করেছিলেন?
কার্তিক বোস

1
আমি এটি চেষ্টা করেছিলাম এবং এটি আমাকে আবার প্রবাহিত করতে সহায়তা করে। ফিরে যাওয়ার পরে আমি "গিট মার্জেটুল" চেষ্টা করেছিলাম। এটি সরাসরি মার্জিং সরঞ্জামের সাথে যুক্ত।
CoDe

4
কাজ করে না:[env]$ git merge --abort fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge.
ব্যবহারকারী 1429980

1
@ কার্ত্তিক বোস, এটি আসলে কাজ শেষ করেছিল। যেহেতু আমি এসএসএইচ-এ কাজ করছি, তাই আমাকে একটি নতুন অধিবেশন শুরু করতে হয়েছিল এবং একটি করতে হয়েছিল git status
ব্যবহারকারী 1429980

97

আপনি যদি নিশ্চিত হন যে আপনি ইতিমধ্যে সমস্ত সংহত বিবাদগুলি সমাধান করেছেন:

rm -rf .git/MERGE*

এবং ত্রুটি অদৃশ্য হয়ে যাবে।


2
আপনি যদি MERGE_HEAD অপসারণ করেন তবে ফলাফল সংঘটিত কেবলমাত্র একজন পিতা বা মাতা থাকবে না তাই আপনার একীভূত শাখার ইতিহাস থাকবে না?
জেসন গোয়েমাট

2
এটি আমি যা চেয়েছিলাম
Raditya gumay

1
@ জেসনগোম্যাট আমার ক্ষেত্রে আমি অস্থায়ীভাবে একাধিক পিআরগুলিতে মিশে যা এখনও গ্রহণ করা হয়নি। আমি বৈশিষ্ট্য শাখায় এই সংযুক্তির প্রতিশ্রুতিবদ্ধ করার পরিকল্পনা করি না, উন্নয়নের সময় আমার কেবল তাদের প্রয়োজন।
অ্যান্ডি

আমি ইতিমধ্যে আমার বিরোধগুলি সমাধান করেছি এবং এখনও এই ত্রুটিটি পাচ্ছি। সুতরাং কমান্ডটি আমার পক্ষে কাজ করেছিল।
সিবিঘা

এটি আমাকে একটি দুষ্টু একীভূত সংঘাতের লুপ থেকে বাঁচিয়েছে।
স্লেজ

68

আমি মনে করি এটি উল্লেখযোগ্য যে এখানে এমন অনেক পরিস্থিতি রয়েছে যাতে বার্তাটি You have not concluded your merge (MERGE_HEAD exists)ঘটতে পারে, কারণ সম্ভবত বার্তাটি অনুসন্ধানের পরে অনেক লোক এই পৃষ্ঠায় এসে পৌঁছেছে। আপনি কীভাবে সেখানে পৌঁছেছেন তার উপর রেজোলিউশন নির্ভর করবে।

git status সর্বদা একটি দরকারী সূচনা পয়েন্ট।

আপনি যদি ইতিমধ্যে সামগ্রীগুলিকে নিজের সন্তুষ্টির সাথে মার্জ করে রেখেছেন এবং এখনও এই বার্তাটি পেয়ে থাকেন তবে এটি করা সহজ

git add file
git commit

কিন্তু আবার, এটি পরিস্থিতি নির্ভর করে। কিছু চেষ্টা করার আগে বেসিকগুলি বোঝা ভাল ধারণা (একই লিঙ্ক টেরেন্স পোস্ট করেছেন): গিট - বেসিক মার্জ সংঘাত


আমাদের কাছে যারা সহজ ধরণের সমস্যা সহকারে তাদের এটি জিজ্ঞাসা করার জন্য আপনাকে ধন্যবাদ। "গিট স্ট্যাটাস" যা আমার মতো নবাগতের দরকার ছিল, তা মনে করিয়ে দেওয়ার জন্য যে দ্বন্দ্বী সংশ্লেষ ঠিক করার শেষ ধাপটি ছিল সহজ কমান্ড "গিট কমিট"।
ডানা

17

আমি মনে করি এটি সঠিক উপায়:

git merge --abort

git fetch --all

তারপরে, আপনার কাছে দুটি বিকল্প রয়েছে:

git reset --hard origin/master

অথবা আপনি অন্য কোনও শাখায় থাকলে:

git reset --hard origin/<branch_name>

2
শুধুমাত্র গিট একীভূত
অ্যাকর্ড

8

আমি বিরোধগুলি সমাধান করেছি এবং প্রতিশ্রুতিবদ্ধ কিন্তু এখনও এই ত্রুটি বার্তাটি পেয়েছি git push

সমস্ত বিবাদ সংশোধন করা হয়েছে তবে আপনি এখনও মার্জ করছেন।
(একত্রীকরণের উপসংহারে "গিট কমিট" ব্যবহার করুন)

আমি ত্রুটি সমাধানের জন্য এই পদক্ষেপগুলি করেছি:

rm -rf .git/MERGE*
git pull origin branch_name 
git push origin branch_name

কী pushশেষে সাধা?
মার্ক স্টোর 15

6

চেষ্টা

git reset --hard origin/trunk

'ট্রাঙ্ক' হ'ল আমি যে শাখায় যাবার চেষ্টা করছি।

আমি জানি না কীভাবে বা কেন এটি কাজ করে। এটি করা কিছু প্রতিশ্রুতিবদ্ধতার সাথে এর কিছু করার ছিল যা আমার টানার অনুরোধগুলিকে একীভূত করতে বাধ্য করেছিল।


5

কোনও অস্থায়ী ফাইল পরিবর্তন করার চেষ্টা করুন। যেমন যে কোনও স্থান সরিয়ে ফেলুন বা স্থান যুক্ত করুন এবং তারপরে সেই ফাইলটি প্রতিশ্রুতিবদ্ধ ও পুশ করুন।

গিটে যোগ করুন 'অস্থায়ী_দল_ফाइल'

গিট কমিট-এম "গিট ইস্যু সমাধান করা"

গিট পুশ উত্স বিকাশ

এবং তারপরে গিট টানুন,

গিট টান উত্স বিকাশ

আশা করি এটি আপনাকে সাহায্য করতে পারে।


4

ব্লককোট

যদি আপনি অন্য শাখা থেকে আপনার শাখায় টানতে চেষ্টা করছেন। যদি আপনি এই ত্রুটিটি দেখছেন।

প্রথমে, আপনার গিট কমিট করার চেষ্টা করা উচিত এবং তারপরে আপনার অন্য একটি শাখা টানুন।

  1. "গিট অ্যাড।"
  2. গিট কমিট
  3. তারপরে প্রয়োজনীয় শাখা থেকে গিট টানুন।

3

আমার ক্ষেত্রে আমার একটি চেরি পিক ছিল যা বেশ কয়েকটি মার্জ সংঘাত তৈরি করে, তাই আমি চেরি বাছাইটি সম্পূর্ণ না করার সিদ্ধান্ত নিয়েছি। আমি আমার সমস্ত পরিবর্তন বাতিল করে দিয়েছি। এটি করার ফলে আমাকে এমন অবস্থায় ফেলেছে যেখানে আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

আপনি আপনার মার্জটি শেষ করেন নি (MERGE_HEAD বিদ্যমান)

সমস্যাটি সমাধানের জন্য আমি নিম্নলিখিত গিট কমান্ডটি সম্পাদন করেছি যা সমস্যার সমাধান করেছে।

git cherry-pick --abort

2

মার্জটিকে পূর্বাবস্থায় ফেরা এবং আবার মার্জটি সম্পাদন করা সর্বোত্তম পন্থা। প্রায়শই আপনি গোলযোগের জিনিসগুলি ক্রম পেয়ে যান। চেষ্টা করুন এবং দ্বন্দ্বগুলি সমাধান করুন এবং নিজেকে একটি জগাখিচুড়ে ফেলুন।

সুতরাং এটি পূর্বাবস্থায় ফেরান এবং আবার মার্জ করুন।

আপনার পরিবেশের জন্য উপযুক্ত ডিফল্ট সরঞ্জাম সেটআপ আছে তা নিশ্চিত করুন। আমি একটি ম্যাক এ এবং DIFFMERGE ব্যবহার করি। আমি মনে করি DIFFMERGE সমস্ত পরিবেশের জন্য উপলব্ধ। নির্দেশাবলী এখানে: একটি ম্যাকের উপর ডিআইএফএফ মার্জ ইনস্টল করুন

আমার দ্বন্দ্বগুলি সমাধান করার জন্য আমার এই সহায়ক রয়েছে: গিট বেসিক-মার্জ-দ্বন্দ্ব


1

প্রথমে git pullআপনার পরিবর্তনটি সংরক্ষণ করতে সঞ্চয়ীগুলিকে মার্জ করতে ব্যবহার করুন then পুনরায় টাইপ করুন git commit -m "your commit"


0

একত্রিত হওয়া পরিবর্তনগুলি আমার সমস্যার সমাধান করেছে:

git commit -m "commit message"

-12

এটি আমার পক্ষে কাজ করেছে:

git log
`git reset --hard <089810b5be5e907ad9e3b01f>`
git pull
git status

3
প্রথমত, এটি সমস্ত কার্যকরী ডিরেক্টরি পরিবর্তন মুছবে। এছাড়াও হার্ডকোডযুক্ত সংস্করণ সহায়ক নয়, সম্ভবত হেড like এর মতো আরও ভাল।
এন্টোমো

@ প্লাস 1 এটি আমার ঠিক ঠিক প্রয়োজন - আমার ভুল স্থানীয় কমিটগুলি সরিয়ে ফেলুন এবং পরিবর্তিত উত্স কোডের সাথে পরিবর্তনগুলি প্রয়োগ করুন। আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ!
amular

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