দূরবর্তী থেকে গিট টান কিন্তু এমন কোনও রেফ আনা হয়নি?


69

আমার ডিস্কে আমার একটি গিট মিরর রয়েছে এবং আমি যখন আমার রেপোটি গিট টান দিয়ে আপডেট করতে চাই তা আমাকে ত্রুটি বার্তা দেয়:

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

এটি আমাকে দেয়:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

আমি যখন মেনুকনফিগ তৈরি করি তখন এটি আমাকে লিনাক্স সংস্করণ 3.5.7 দেয়? এটার মানে কি? আমি কীভাবে আমার রেপো আপডেট করতে পারি?

উত্তর:


58

আপনি যে শাখায় রয়েছেন তা পরীক্ষা করুন ( git branch), সেই শাখার কনফিগারেশনটি (ইন .../.git/config) পরীক্ষা করুন , আপনি সম্ভবত ভুল শাখায় রয়েছেন বা এটির জন্য আপনার কনফিগারেশনটি (এখন?) অস্তিত্বহীন দূরবর্তী শাখায় মার্জ করতে বলে।


22
আপনার স্থানীয় সংগ্রহস্থলে অস্তিত্বহীন দূরবর্তী শাখার উল্লেখগুলি সরাতে, ব্যবহার করুন git remote prune origin
jevon

7
আরেকটি উপায় একটি শাখা জন্য "কনফিগারেশন পরীক্ষা" করা: git branch -vv। এটি শাখার সাথে সম্পর্কিত "রিমোট" প্রদর্শন করে।
অফবি 1 ই

28

আমার ক্ষেত্রে, আমার স্থানীয় শাখাটি দূরবর্তী শাখার ট্র্যাক করার জন্য সেট করা হয়নি। আমাকে ম্যানুয়ালি চালাতে হয়েছিল:

git pull origin remotebranch

তারপরে পরবর্তী সময় আপনি সঠিক ট্র্যাকিং সেট আপ করতে "গিট পুশ-ইউ" করুন push


আপনি যখন প্রথম কোনও খালি রেপো ক্লোন করেন অর্থাৎ ব্যবহার করে তৈরি করেছিলেনgit init --bare
সাইক্লোনকোড

10

আমার ক্ষেত্রে, আমার স্থানীয় শাখা এবং দূরবর্তী শাখার পৃথক মূলধন ছিল।

এটি সমাধানের জন্য আমি আমার স্থানীয় শাখাটি মুছে ফেললাম $ git branch -d branch-name, তারপরে আবার $ git fetchএবং ব্যবহার করে দূরবর্তী শাখাটি পরীক্ষা করে দেখলাম $ git checkout Branch-name


এটি পরিষ্কার, সহজ এবং কাজ সূক্ষ্ম। ধন্যবাদ.
বালাসুব্রামণি এম

আমি এই ত্রুটিটি সিএমডি লাইনে পেয়েছি। একটি রিবেস দিয়ে স্মার্টগিট চেষ্টা করে অতীত হয়ে গেল।
পি.ব্রেইন.ম্যাকি

প্রতিবার একবার শাখা এবং পুনরায় চেকআউট শাখা মুছে ফেলার পরিবর্তে এটি করুন: আপনার /.git/config
wz366

2

এটি সম্ভবত আপনার দলের অন্য কেউ আপনার শাখাটিকে মার্জ করে এটিকে মুছে ফেলেছে (সাধারণত মার্জ করার পরে এটি করা হয়)। আপনি রেপোতে শাখা তৈরি করতে পারেন এবং আবার চেষ্টা করতে পারেন। এটি আমার সংস্থায় একবারে একবারে ঘটে (বিটবাকেট ডিফল্ট করে একীভূত এবং মুছতে)।


1

আমার ক্ষেত্রে (সাধারণ ক্যাভিয়েট), ইতিমধ্যে আমার যথাযথ নামের একটি শাখা ছিল তাই আমাকে কেবল remote = originআমার .git / কনফিগারেশনে যুক্ত করতে হয়েছিল:

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added


1

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


0

উইন্ডোজে নিজেকে প্রকাশ করে এমন এক কেসিং সমস্যার কারণে আমি এই সমস্যাটি পেয়েছি।

আমার গিট কনফিগার মত লাগছিল:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

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

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch

0

যদি শাখাটি চলে যায়,

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

তারপরে চেকআউট মাস্টার বা আপনার যা প্রয়োজন

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