'গিট ব্রাঞ্চ -av' রিমোট শাখা দেখায় যা আর নেই


168

এটি সম্ভবত একটি বোবা প্রশ্ন, তবে আমি গিটের জন্য একেবারে নতুন এবং এমন একটি প্রত্যন্ত শাখা দেখতে পাচ্ছি যা আর নেই।

$ git branch -a
* master
  remotes/origin/master
  remotes/origin/production

আমি বিশ্বাস করি না যে উত্পাদন শাখাটি দূরবর্তী অবস্থান থেকে রয়েছে এবং স্থানীয়ভাবে এটি এখনও কেন প্রদর্শিত হচ্ছে তা বুঝতে পারি না। আমি কীভাবে এই শাখাটি মুছতে / মুছতে পারি? এটি অপসারণের চেষ্টাটি দেখতে কেমন তা এখানে দেখুন:

$ git push origin :production

error: unable to push to unqualified destination: production
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@IP:puppet.git'

আমি অনুমিত দূরবর্তী উত্পাদন শাখা চেকআউট করতে পারি তবে এটি পেতে:

$ git checkout origin/production
Note: checking out 'origin/production'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at c323996... added powerdns module, no really

আমি কী করছিলাম তা আমার কোনও ধারণা নেই। কোন সাহায্য প্রশংসা করা হবে।


git branch -aএকটি পরে আউটপুট কি git fetch?
আলেডিয়াফেরিয়া


আমার প্রস্তাবিত সদৃশটির একটি উত্তর রয়েছে যা এখানে মনোজल्डদের চেয়ে অনেক বেশি ব্যাখ্যা করে।
ক্যাসাবেল

উত্তর:


338

তোমাকে করতে হবে:

git remote prune origin

8
ধন্যবাদ যে কাজ! পর্দার আড়ালে কী ঘটছে তা আপনি বিস্তারিতভাবে বলতে পারেন?
CarpeNoctem

12
এগুলি আপনার স্থানীয় রেপোতে দূরবর্তী ট্র্যাকিং শাখাগুলি এবং যদি শাখাগুলি দূরবর্তী রেপোতে মুছে ফেলা হয় তবে আপনাকে সেগুলি সাফ করতে হবে।
মনোজাল্ড

2
কদাচিৎ আমি এত তাড়াতাড়ি এ জাতীয় সোজাসুজি প্রশ্ন এবং উত্তর খুঁজে পেতে এবং প্রয়োগ করি।
খুলে

চমত্কার এক। আমার স্থানীয় আমি অদ্ভুত শাখাগুলি দেখছিলাম যার কোড বেস রেপোর সাথে কোনও সংযোগ ছিল না। যখন আমি এই আদেশটি চালালাম তখন এটি আমার স্থানীয় উত্স শাখাটি সুর করল এবং তারপরে আমি প্রবাহের মাস্টার যুক্ত করলাম। ধন্যবাদ
অঙ্কুর শ্রীবাস্তব

54

সুতরাং দুটি সমস্যা আছে। উভয় ক্ষেত্রেই মনে রাখবেন গিট বিতরণ করা হয়েছে।

প্রথম। আপনি যখন ভালো জিনিস করেন

it গিট শাখা -a

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

remote গিট দূরবর্তী ছাঁটাই উত্স

বাসি শাখা অপসারণ করতে।

'গিট পুশ অরিজিন: প্রোডাকশন' কমান্ডটি দূরবর্তী কম্পিউটারের গিট রেপো থেকে শাখাটি মোছার জন্য ব্যবহৃত হয়। আপনার স্থানীয় রেপো নয়। এই ক্ষেত্রে, অন্য কেউ এরই মধ্যে দূরবর্তী কম্পিউটারের গিট রেপোতে শাখাটি মুছে ফেলেছে, সুতরাং আপনি এই ত্রুটি বার্তাটি দেখতে পাচ্ছেন।

এই কমান্ডগুলির সংক্ষিপ্তসার হিসাবে এখানে একটি লিঙ্ক দেওয়া হয়েছে

দ্বিতীয় সমস্যাটি চেকআউট নিয়ে কাজ করে।

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

যাইহোক, যখন আপনি কোনও যথাযথ, স্থানীয়, শাখার নাম নয় এমন কোনও কিছু যাচাই করেন, তখন HEAD আর কোনও কিছুর প্রতীকী রেফারেন্স হয় না। পরিবর্তে, এটিতে আপনি যে প্রতিশ্রুতিতে চলেছেন তার SHA-1 হ্যাশ (কমিট আইডি) রয়েছে।

এখন, স্থানীয় শাখাটি কীভাবে পরীক্ষা করা যায়, এটি দূরবর্তী শাখার সমান?

সহজ, আপনি চেকআউট দূরবর্তী শাখার সময় একটি স্থানীয় শাখা তৈরি করুন।

it গিট চেকআউট-বি আমার_লোকাল_ ব্রাঞ্চের উত্স / উত্পাদন


20
git remote prune origin

ঠিক আছে, কেবলমাত্র আপনি --dry-runবিকল্পটি ব্যবহার করতে পারেন , যা আপনার স্থানীয় রেপো থেকে কী শাখাগুলি ছাঁটাই করা হবে তা জানায়, কিন্তু আসলে তাদের ছাঁটাই করে না

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