গিট রিবেস একীভূত বিরোধ চলতে পারে না


131

আমি 'মাস্টার' শাখাটি ধরতে 'দেব' পুনরায় চালু করার চেষ্টা করছি।

$ git checkout dev 
$ git rebase master 
First, rewinding head to replay your work on top of it...
Applying: Corrected compilation problems that came from conversion from SVN.
Using index info to reconstruct a base tree...
M       src/com/....
<stdin>:125: trailing whitespace.
/**
<stdin>:126: trailing whitespace.
 *
<stdin>:127: trailing whitespace.
 */
<stdin>:128: trailing whitespace.
package com....
<stdin>:129: trailing whitespace.

warning: squelched 117 whitespace errors
warning: 122 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging src/com/....
CONFLICT (content): Merge conflict in src/com/...
Failed to merge in the changes.
Patch failed at 0001 Corrected compilation problems that came from conversion from SVN.

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".

$ vi src/com/.....   { fixed the merge issue on one file } 
$ git add -A . 
$ git rebase --continue 
src/com/....: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add
$ vi src/com....      { verified, no >>> or <<< left, no merge markers } 
$ git rebase --continue 
Applying: Corrected compilation problems that came from conversion from SVN.
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".

কোন ধারনা?


দ্রষ্টব্য: এমন কিছু ঘটনা রয়েছে যেখানে একজন git rebase --skipএখনও সঠিকভাবে কাজ করতে পারেনি। গিট ২.০.২.২০১ July (জুলাই 2014) পর্যন্ত। দেখুন নিচের আমার উত্তর
VonC

উত্তর:


223

বেশ কয়েকটি পরিস্থিতি রয়েছে যেখানে আমি rebaseআটকে থাকতে দেখেছি । একটি হল যদি পরিবর্তনগুলি নাল হয়ে যায় (একটি প্রতিশ্রুতি পরিবর্তন হয় যা পূর্বে পুনর্বাসনে আগেই করা হয়েছিল) সেই ক্ষেত্রে আপনাকে ব্যবহার করতে হতে পারে git rebase --skip

এটি বলা খুব সহজ। আপনি যদি git statusএটি করেন তবে কোনও পরিবর্তন দেখা উচিত। যদি তাই হয় তা এড়িয়ে যান। যদি এটি না হয় তবে দয়া করে একটি অনুলিপি পোস্ট git statusকরুন এবং আমি আরও সাহায্য করার চেষ্টা করতে পারি।


না এটি ছিল না, কারণে "কোনও" পরিবর্তন ছিল না। আমি এটিকে এড়িয়ে গিয়ে ফাইলটির সাথে তুলনা করেছিলাম যা এটি হওয়া উচিত ছিল।
এএমএম

আমার 'গিট টান --rebase উত্স মাস্টার "যখন দ্বন্দ্ব নিরসন এবং এড়িয়ে যাওয়ার প্রয়োজনের মধ্যে একটি ফাঁকে আটকে পড়েছিল তখন এটি আমাকে সাহায্য করেছিল a কিছুটা বেশি ধৈর্য্যের পরে, আমি স্থির, টাই!
অ্যানি দ্য অ্যাজিলে

3
গিট স্ট্যাটাসটি প্রত্যাবর্তন করে: "রিবেস চলছে; গিট রিবেস - কনটিনিউতে কোনও পরিবর্তন আসে না যদিও গিট রিবেস --স্কিপ করুন তবে আমার ক্ষেত্রে আমি সেই পরিস্থিতি বারবার পেয়ে যাচ্ছি। এটা ঠিক আছে নাকি কিছু ভুল আছে?
আদি

ধন্যবাদ। আমি চিন্তিত ছিলাম --skipযে পরিবর্তনগুলি করেছি তার চেয়ে আরও খারাপ করব।
jchook

আমার ক্ষেত্রে ইন্টেলিজ আইডিয়া জিইউআই এবং সোর্স ট্রি উভয়ই দেখিয়েছিল যে প্রতিটি ফাইল কমিটের সাথে যুক্ত হয়েছিল, যেখানে git statusদেখানো হয়েছে যে এমন একটি ফাইল রয়েছে যা সংশোধিত হয়েছিল, কিন্তু প্রতিশ্রুতিতে যুক্ত হয়নি। পারফর্মিং add somefile.txtঅব্যাহত রেখে চালিয়ে যাওয়ার অনুমতি দেওয়া হয়েছে।
আজিজবিকিয়ান

16

যখন একটি করছেন যে আমি এই বিষয়টি ফেলেছেন সময়ের এক git commitপরে git add। সুতরাং, নীচের ক্রমটি আপনার উল্লেখ করা রিবেস ত্রুটি তৈরি করবে:

git add <file with conflict>
git commit -m "<some message>"
git rebase --continue

যদিও, নীচের ক্রমটি কোনও ত্রুটি ছাড়াই চলে এবং রিবেসটি চালিয়ে যায়:
git add <file with conflict>
git rebase --continue

এটি সম্ভবত হতে পারে যে git add -A"সমস্ত" বিকল্পের সাহায্যে একটি অনুরূপ পরিস্থিতি তৈরি হচ্ছে। (দয়া করে নোট করুন, আমি গিটে খুব অভিজ্ঞ নই, সুতরাং এই উত্তরটি সঠিক নাও হতে পারে)) নিরাপদ থাকতে, git rebase --skipমনে হয় এই পরিস্থিতিতেও এটি ভালভাবে কাজ করে।


6

দ্রষ্টব্য: গিট ২.০.২ (জুলাই ২০১৪) এমন একটি কেস স্থির করেছে যেখানে কোনওটি git rebase --skipআটকে যায় এবং বর্তমান পুনর্বাসনটি চালিয়ে যেতে সক্ষম হবে না।
দেখুন 95104c7 কমিট দ্বারা ব্রায়ান মি। কার্লসন (bk2204 )

rebase--merge: ফিক্স --skip একটি সারিতে দুটি দ্বন্দ্বের সাথে

যদি git rebase --mergeকোনও দ্বন্দ্বের মুখোমুখি হয়, --skipপরবর্তী প্রতিশ্রুতিগুলিও বিরোধিত হলে কাজ করবে না
msgnumফাইল কখনোই অবশ্যম্ভাবী লুপ ফলে, নতুন প্যাচ সংখ্যা সঙ্গে আপডেট করা হবে তাই কোনও প্যাচ আসলে এড়ানো হবে।

msgnumকল_সেমে প্রথম জিনিস হিসাবে ফাইলটির মান আপডেট করুন ।
এটি একটি "এড়ানো"Already applied বার্তা এড়িয়ে যায়।
অন্যান্য প্রসঙ্গে যেগুলিতে কল_সামার অনুরোধ করা হয়েছে তাতে কোনও দৃশ্যমান পরিবর্তন নেই, কারণ এমসনাম ফাইলের মান সেই পরিস্থিতিতে অপরিবর্তিত রয়েছে।


3
$ vi src/com....      { verified, no >>> or <<< left, no merge markers } 
$ git rebase --continue 

দেখে মনে হচ্ছে আপনি git addনিজের পরিবর্তনগুলি ভুলে গেছেন ...


এটি কেবলমাত্র "যাচাই করা" ছিল দ্বিতীয়বারের মতো কোনও পরিবর্তন দরকার ছিল না ... গিট অ্যাডের ঠিক উপরে ছিল।
এএমএম

ঠিক আছে, আপনি মার্জটি ব্যবহার করেছেন git addএবং তারপরেও চালিয়ে গেছেন এবং এটি বন্ধ হয়ে গেছে কারণ অন্য কোনও ফাইলে বিরোধ রয়েছে, সুতরাং আপনারও এটি ঠিক করতে হবে। আমি কি এখানে কিছু মিস করছি?
জন ব্রোডি

1
এটি একই ফাইল যা প্রতিবেদন করছে তা মার্জ করার প্রয়োজন। ঠিক আছে আপনার জন্য আমি আরও একটি "গিট অ্যাড" করব, তবে এটি একই ফলাফল।
এএমএম

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