গিট রিবেস মারাত্মক: একটি একক সংশোধন দরকার


162

আমার একটি পাবলিক ভান্ডারগুলির একটি শাখা রয়েছে এবং আমি মূল সংগ্রহস্থল থেকে বর্তমান কমিটিগুলির সাথে আমার শাখাটি আপডেট করার চেষ্টা করছি:

$ git fetch <remote>
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 20 (delta 12), reused 0 (delta 0)
Unpacking objects: 100% (20/20), done.
From git://github.com/path_to/repo
  9b70165..22127d0  master     -> $/master
$ git rebase <remote>
fatal: Needed a single revision
invalid upstream <remote>

<remote>আমার দূরবর্তী নামের স্থাপন ও আসলে আমার দূরবর্তী নাম নয়। এই ত্রুটির ডকুমেন্টেশনটি কিছুটা আলগা বলে মনে হচ্ছে।


2
একটি সম্পর্কযুক্ত কারণে আমি এই ত্রুটিটি পেয়েছি - উইন্ডোজ কমান্ড প্রম্পট থেকে "গিট রিবেস --interactive c4e9c94 ^" ব্যবহার করে। এটি আমাকে "আরও?" জিজ্ঞাসা করেছিল, এবং কীভাবে তা প্রম্পটের উত্তর দেয় তা নির্বিশেষে এটি বলেছিল "মারাত্মক: একটি একক সংশোধন প্রয়োজন"। কিন্তু যখন আমি বাশ থেকে একই কমান্ডটি চালিত করেছি, এটি ভাল কাজ করেছে।
রিচার্ড বিয়ার

পার্শ্ব নোট হিসাবে, আমার জন্য "রিমোট" তালিকাভুক্ত আপস্ট্রিম শাখা থাকা ছাড়াও আমাকে যে নির্দিষ্ট শাখাটি পুনরায় চালু করতে চাইছিল তা আমাকে আনতে হয়েছিল। "গিট ফেচ <আপস্ট্রিম> মাস্টার"। "গিট ফ্যাচ <আপ স্ট্রিম>" দিয়ে কেবল <upstream> আনয়ন আমাকে এখনও এই ত্রুটি দেয়।
মিষ্টিতা

উত্তর:


132

আপনাকে কোনও শাখার নাম সরবরাহ করতে হবে (বা অন্যান্য প্রতিশ্রুতি শনাক্তকারী), তে কোনও রিমোটের নাম নয় git rebase

উদাহরণ:

git rebase origin/master

না:

git rebase origin

দ্রষ্টব্য, যদিও প্রতিশ্রুতিবদ্ধ রেফারেন্স প্রয়োজন সেখানে যুক্তি হিসাবে ব্যবহৃত হলে originরেফের সমাধান করা উচিত origin/HEAD, মনে হয় যে প্রতিটি সংগ্রহস্থল এই জাতীয় রেফারেন্স অর্জন করে না তাই এটি কাজ করতে পারে না (এবং আপনার ক্ষেত্রে এটি কাজ করে না)। এটি সুস্পষ্ট বলে অর্থ প্রদান করে।


2
পরেরটির আসলে কাজ করা উচিত - originরেফারেন্স প্রসঙ্গে যেমন ব্যাখ্যা করা হয় origin/HEAD। আমি দেখেছি ভান্ডারগুলি শেষ পর্যন্ত কী তা জানে না origin/HEAD...
ক্যাস্যাবেল

1
@ জেফ্রমি: আমি আশঙ্কা করি যে আমি আপনাকে বিশ্বাস করি না, আমি কেবল git rebase originএকটি পরীক্ষার ভাণ্ডার (যেখানে originরয়েছে HEAD) চেষ্টা করেছি এবং আমি ওপি'র ত্রুটি পেয়েছি। রিবাজের জন্য ডকুমেন্টেশনটি বলে না যে এর জন্য একটি দূরবর্তী নাম বৈধ <upstream>
সিবি বেইলি

1
@ চার্লস: আচ্ছা, এটি বাগ হতে পারে? আমার git.git ক্লোনটিতে git rev-parse originযেমন কাজ করে git rebase origin(আপ-টু-ডেট, ফাস্ট-ফরোয়ার্ড এবং ইন্টারেক্টিভ সহ সত্যিকারের রিবেস ক্ষেত্রে) কাজ করে।
ক্যাসাবেল

@Jefromi: আপনি যা করতে পারেন git describeআপনার HEAD?
সিবি বেইলি

@ চার্লস: আপ টু ডেট, ভি 1.7.4-আরসি 3! আমি এইটিকে খুঁজতে দ্বিখণ্ডিত করতে ভীষণ আগ্রহী নই ...
ক্যাসকেবেল

28

আপনি শাখার নামটি সঠিকভাবে বানান করে দেখুন । আমি একটি গল্পের শাখাটি (যেমন branch_name) ছাড়ছিলাম এবং গল্পের অংশটি ভুলে গিয়েছিলাম। (অর্থাত্ story/branch_name) এবং তারপরে আমার কাছে এই ত্রুটিটি থুথু ফেলবে যা এই প্রসঙ্গে খুব বেশি অর্থ দেয় না।


ঠিক এই। টাইপ করা হয়েছে featureNameযখন শাখার নাম আসলেfeatures/featureName
pkamb

3
আরও সাধারণভাবে টাইপগুলি সন্ধান করার জন্য একটি ভাল ধারণা। আমি শাখা তৈরি করার সময় দুর্ঘটনাক্রমে দুটি চিঠি বদলে ফেলেছিলাম এবং এই টাইপটি খুঁজে পাওয়া সত্যিই শক্ত।
ওলগা

25

আমি এটির মধ্যে দৌড়ে গিয়ে বুঝতে পেরেছি রিবেস করার চেষ্টা করার আগে আমি উজানের দিকে নিয়ে এসেছি না। আমার যা দরকার ছিল তা হ'লgit fetch upstream


10

সমস্যাটি হল আপনি .... যেখানে আপনি পুনঃব্যবস্থাপনের চেষ্টা করছেন সেখানে একটি শাখা বন্ধ করে দিয়েছেন। আপনি এমন একটি শাখায় পুনর্বাসনা করতে পারবেন না যেখানে আপনার বর্তমান শাখাটি মূলত তৈরি হয়েছিল commit

আমি এটি পেয়েছিলাম যখন আমি প্রথমে একটি স্থানীয় শাখা এক্সকে একটি ধাক্কা দেওয়া এক ওয়াইতে পুনরায় সেট করেছিলাম, তারপরে একটি শাখাটিকে পুনরায় চালু করার চেষ্টা করেছি (প্রথমে এক্সে তৈরি করা হয়েছিল) ধাক্কা দেওয়া এক ওয়াইতে to

এক্স এর কাছে রিব্যাক করে আমার জন্য সমাধান হয়েছে

দূরবর্তী শাখাগুলিতে ছাড় দিতে আমার কোনও সমস্যা নেই (সম্ভাব্য এমনকি চেক আউটও করা হয়নি), তবে আমার বর্তমান শাখাটি সেই শাখার পূর্বপুরুষের কাছ থেকে পাওয়া যায়।


3
আপনি এর সাথে একটি শাখায় পুনর্বাসনা করতে পারেন --onto। সবকিছু কিছু সাধারণ পূর্বপুরুষের (সাধারণ সংগ্রহস্থলের জন্য) অবতরণ করে , তাই সমস্যাটি নয়। fooযখন আমি এখনও ট্র্যাক করার জন্য শাখাটি তৈরি করে নি তখন আমি পুনরায় চালু করার চেষ্টা করে এই ত্রুটিটি পেয়েছি origin/foo
cdunn2001

0

দূরবর্তী জন্য origin:

$ echo "ref: refs/remotes/origin/master" > .git/refs/remotes/origin/HEAD

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