সতর্কতা: পুনর্নামকরণ 'HEAD' অস্পষ্ট


139

আমি গিটে নতুন এবং আমি নিম্নলিখিত কমান্ডটি কার্যকর করলে আমার একটি শাখা অনেক বেশি রয়েছে বলে মনে হচ্ছে:

warning: refname 'HEAD' is ambiguous.

আমি নিম্নলিখিত আউটপুট পেতে:

warning: refname 'HEAD' is ambiguous.
From github.com:dagda1/hornget
 * branch            master     -> FETCH_HEAD
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.

যদি আমি মৃত্যুদণ্ড কার্যকর করি git branch -a

আমি নিম্নলিখিত পেতে:

HEAD
* master
remotes/emmekappa/master
remotes/origin/HEAD -> origin/master
remotes/origin/master

আমি দ্বারা বিভ্রান্ত করছি remotes/origin/HEAD -> origin/master

এটি কী এবং আমি কীভাবে অস্পষ্ট শাখা থেকে মুক্তি পেতে পারি।

আমি একীভূত করার মাধ্যমে এই পর্যায়ে পৌঁছেছি যেখানে আমি মনে করি যে আমি দ্ব্যর্থক শাখা যুক্ত করেছি।


11
আপনি যে আদেশটি কার্যকর করার চেষ্টা করছেন তা কোনটি? অবশ্যই তা নয়warning: refname 'HEAD' is ambiguous.
বেন জেমস

1
remotes/origin/HEAD -> origin/masterকোনও সমস্যা নয়: এটি কেবল দেখায় যে কোন শাখা দূরবর্তীতে ডিফল্ট origin। নাম দেওয়া শাখাটি HEAD
জাকুব নারেবস্কি

3
আমার মনে হয় আপনার কমান্ডটি চালানোর চেষ্টা করার জন্য আপনাকে প্রশ্নটি সম্পাদনা করতে হবে :)
ক্রিস

এটি পুনরুত্পাদন করতে, "গিট ফ্যাচ উত্স হেড: হেড" চালান। স্পষ্টতই এটি বর্তমান শাখাকে একটি নতুন শাখায় আক্ষরিক, হেড নামে একীভূত করার চেষ্টা করে।
Brain2000

উত্তর:


224

সমস্যাটি হ'ল আপনার একটি শাখা বলা হয়েছে HEADযা একেবারেই বিপজ্জনক, যেহেতু বর্তমান শাখা যে কোনও শাখারই প্রতীকী নাম ।

নাম পরিবর্তন করুন:

git branch -m HEAD newbranch

তারপরে আপনি এটি পরীক্ষা করে সিদ্ধান্ত নিতে পারেন কী করবেন (এটি মুছুন, বা বর্ণনামূলক শাখার নামে সংরক্ষণ করুন)

( origin/HEADদূরবর্তী শাখা কোনও সমস্যা নয়)


শাখার একই নামযুক্ত কোনও ফাইল বা ডিরেক্টরি থাকলে আপনার ক্ষেত্রে এটি ঘটতে পারে।
ম্যাট কনলি

2
যদিও origin/HEADসমস্যা নাও হতে পারে, যদি আপনি দুর্ঘটনাক্রমে এমন একটি শাখা তৈরি করেন যা origin/somebranchসেই সমস্যাটিকে IS বলে ডাকা হয় (এবং এর ফলে একই "দ্ব্যর্থক" ত্রুটি বার্তা আসবে)। আপনি যখন "সামারবাঞ্চ" থেকে টানতে চেষ্টা করবেন তখন আপনি রিমোটের পরিবর্তে আপনার স্থানীয় (দুর্ঘটনাজনিত) শাখা থেকে টান দিয়ে শেষ করবেন। সেক্ষেত্রে, আমি দেখতে পেলাম যে ফ্লিকপ্লিফ্লি করার পরামর্শটি git branch -d origin/somebranchদুর্দান্ত কাজ করে।
মেশিনগোস্ট

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

1
ট্যাগগুলির জন্যও এটি ঘটতে পারে, কেবল শাখাগুলিই নয়।
সেবিক্স

1
Hah! আমি রোবটগুলির সাথে কাজ করি যার মাথা রয়েছে এবং একটি শাখা তৈরি করেছে head(ছোট হাতের অক্ষর)।
ওরিওন এলিজিল

36

এছাড়াও, আপনি যদি এটি না চান তবে এটি শাখাটি মুছে ফেলবে।

git branch -d HEAD

-Dমুছে ফেলতে বাধ্য করার জন্য একটি মূলধন ব্যবহার করুন :

git branch -D HEAD

3
তবে এটি এখনও দ্ব্যর্থহীন থাকবে, এটিকে পরিষ্কার করার কোনও উপায় আছে কি?
RzR

27

আপনি যদি নামে একটি ট্যাগ তৈরি করে তৈরি HEADকরে থাকেন ...

git tag HEAD

... আপনি কেবল এই ট্যাগটি ব্যবহার করে মুছতে পারেন:

git tag -d HEAD

এই কেসটি দেখুন: কর্নেলট্র্যাপ.অর্গ / গিট-ট্যাগ হেড


আপনি ভুলক্রমে হেড নামের সাথে ট্যাগ যুক্ত করার পরে এটি ঘটে থাকে, সুতরাং আপনাকে এখানে প্রস্তাবিত অনুসারে মুছতে হবে
ব্যবহারকারী 1610308

1

এর অর্থ হল আপনার "মাথা" নামে একটি শাখা রয়েছে। আমার একই সমস্যা ছিল, আমি নিম্নলিখিত কমান্ডটি দিয়ে সমাধান করেছি।

git branch -d head

1

আপনার গিট সংগ্রহস্থলগুলিতে উপলব্ধ রেফারেন্সগুলি চেক করুন। আপনি আপনার ভাণ্ডারে দুটি হেড পর্যবেক্ষণ করবেন। এটি আপনার শাখাটিকে পুনর্নবীকরণের HEAD দ্বিধাগ্রস্থ করে তোলে।

git show-ref

সমাধান:

  • শাখাটির নতুন নামকরণ করুন

    git branch -m HEAD <new_branch_name>
    

    অথবা

  • শাখাটি মুছুন

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