বর্তমান শাখার জন্য কোনও ট্র্যাকিংয়ের তথ্য নেই


579

আমি তুলনামূলকভাবে স্বল্প সময়ের থেকে গিথুব ব্যবহার করে আসছি এবং আমি সর্বদা ক্লায়েন্টকে কমিট এবং টানগুলি সম্পাদন করতে ব্যবহার করি। গতকাল গিট ব্যাশ থেকে চেষ্টা করার সিদ্ধান্ত নিয়েছি, এবং আমি সফলভাবে একটি নতুন রেপো এবং প্রতিশ্রুতিবদ্ধ ফাইল তৈরি করেছি।

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

There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream develop origin/<branch>

এই রেপোর একমাত্র অবদানকারী আমি এবং কোনও শাখা নেই (কেবলমাত্র একজন মাস্টার)। আমি উইন্ডোতে আছি এবং আমি গিট ব্যাশ থেকে টানটি সম্পাদন করেছি:

এখানে চিত্র বর্ণনা লিখুন

গিট স্ট্যাটাস:

$ git status
# On branch master
nothing to commit, working directory clean

গিট শাখা:

$ git branch
* master

আমি কি ভুল করছি?


ঠিক আছে, কেমন আছে git remote -v? কী বলে?
ক্রসওয়েল


এক্সিকিউট করার সময় আপনি ক্লোন করা রেপো ডিরেক্টরিতে সিডি না রেখেও আপনি এই ত্রুটিটি পেতে পারেন git pull
ভিক্টোরিয়া স্টুয়ার্ট

গিট 2.24, Q4 2019 এর মাধ্যমে git pull --set-upstream-to=origin/master masterসম্ভব। দেখুন নিচের আমার উত্তর
VonC

উত্তর:


948

আপনি কোন শাখাটি টানতে চান তা নির্দিষ্ট করতে পারেন:

git pull origin master

অথবা আপনি এটি সেট আপ করতে পারেন যাতে আপনার স্থানীয় মাস্টার শাখা গিথুব মাস্টার শাখাটিকে একটি প্রবাহ হিসাবে ট্র্যাক করে:

git branch --set-upstream-to=origin/master master
git pull

আপনি যখন কোনও সংগ্রহস্থল ক্লোন করেন (কেবলমাত্র ডিফল্ট শাখার জন্য) তখন এই শাখা ট্র্যাকিং স্বয়ংক্রিয়ভাবে আপনার জন্য সেট আপ করা হয়, তবে আপনি যদি কোনও বিদ্যমান সংগ্রহস্থলে কোনও রিমোট যুক্ত করেন তবে আপনাকে নিজেই ট্র্যাকিং সেট আপ করতে হবে। ধন্যবাদ, গিট দ্বারা প্রদত্ত পরামর্শ কীভাবে কীভাবে করা যায় তা মনে রাখা খুব সহজ করে তোলে।


3
পারফেক্ট! এটা কাজ করেছে. তাহলে কি ঘটেছিল ডিফল্ট "গিট টান" এর জন্য কোনও "ডিফল্ট শাখা" ছিল না? তবু কেন ত্রুটি ছিল?
valerio0999

16
--set-upstream গিট 1.9.x এ আপাতভাবে হ্রাস করা হয়েছে। এগিয়ে গিয়ে আপনি এমন কিছু ব্যবহার করতে চাইবেন git branch -u origin/master, ধরে নিবেন আপনি ইতিমধ্যে মাস্টারকে পরীক্ষা করে দেখেছেন। যদি না হয়, git branch -u origin/master masterকাজ করবে।
বার্ট

5
নতুন বারের --set-upstream-to=সিনট্যাক্সটি ব্যবহার করার জন্য @ বার্ট্রিড এটি আপডেট করেছে । (যার প্রতিস্থাপন এটি --set-upstream)
ComputerDruid

59
এটি আফসোস রাষ্ট্রের মতো মনে হয় - প্রতিটি শাখার জন্য কী আমাদের সত্যই এটি সেট করা দরকার? আমরা কেন কেবলমাত্র মূলটিকে ডিফল্ট দূরবর্তী হিসাবে সেট করতে পারি না এবং তারপরে প্রতিটি ধাক্কা / টান ডিফল্ট একই নামের সাথে মূল শাখায় রাখতে পারি? এটা কি এত কঠিন?
আলেকজান্ডার মিলস

4
আহ, এখানে আমার মূল অংশটি হ'ল আপনি যদি একটি রিমোট ফেলে এবং পুনরায় তৈরি করেন তবে মূল দ্বারা সেট করা ট্র্যাকিংটি fetchহারিয়ে গেছে। সুতরাং এটি আবার সেট আপ করা প্রয়োজন। :)
বেন

42

দেখুন: গিট চেকআউট ট্যাগ, গিট টান শাখায় ব্যর্থ

আমার মতো যদি আপনাকে সর্বদা এটি করা দরকার হয় তবে আপনি নিজের .gitconfigফাইলটিতে নিম্নলিখিতটি যুক্ত করে স্বয়ংক্রিয়ভাবে এটি করার জন্য একটি উপনাম স্থাপন করতে পারেন :

[alias]
    set-upstream = \
       !git branch \
           --set-upstream-to=origin/`git symbolic-ref --short HEAD`

আপনি বার্তাটি দেখলে There is no tracking information...চালান:

 git set-upstream
 git push

ধন্যবাদ https://zarino.co.uk/post/git-set-upstream/


1
এটি .gitconfigএক লাইনে বিশ্বব্যাপী যুক্ত করার একটি উপায় রয়েছে (সে অনুযায়ী স্থানীয় বা অন্যান্য কনফিগারেশনের জন্য পরিবর্তন করা যেতে পারে):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
ড্যানি বুলিস

17

কম্পিউটারড্রুডের উত্তর দুর্দান্ত তবে আপনি না চাইলে ম্যানুয়ালি সেট আপ করা প্রয়োজন বলে আমি মনে করি না। আমি এই উত্তরটি যুক্ত করছি কারণ লোকেরা মনে করতে পারে যে এটি একটি প্রয়োজনীয় পদক্ষেপ।

আপনি নীচের মতো টানতে চান এমন রিমোটটি নির্দিষ্ট করে দিলে এই ত্রুটিটি চলে যাবে:

git pull origin master

দ্রষ্টব্য যে originদূরবর্তীটির masterনাম এবং শাখার নাম।


1) রিমোটের নাম কীভাবে চেক করবেন

git remote -v

2) কীভাবে দেখতে পাবেন কী কী ভান্ডারগুলি সংগ্রহস্থলগুলিতে পাওয়া যায়।

git branch -r

1
আমার জন্য সেরা উত্তর, ধন্যবাদ!
বাহমান.এ

7

আমি প্রায়শই এই সঠিক বার্তায় চলে আসি কারণ আমি git checkout -b <feature-branch-name>প্রথম দূরবর্তী শাখা তৈরি না করেই একটি স্থানীয় শাখা তৈরি করি।

সমস্ত কাজ শেষ হয়ে গেলে এবং স্থানীয়ভাবে প্রতিশ্রুতিবদ্ধ হওয়ার পরে এটি ঠিক করা git push -uযা দূরবর্তী শাখা তৈরি করেছিল, আমার সমস্ত কাজকে ঠেলে দিয়েছে, এবং তারপরে মার্জ-অনুরোধ ইউআরএল।


1
এটির মূল্যের জন্য, আমাকে git push -u origin <my-feature-branch-name>দূরবর্তী শাখা তৈরি করতে এবং আমার কাজটি এগিয়ে নিতে দৌড়াতে হয়েছিল
ডনি সি

6

আমি উপরোক্ত উদাহরণগুলি চেষ্টা করছিলাম এবং আমি কোনও অন্য কম্পিউটারে তৈরি করা (নন-মাস্টার) শাখার সাথে তাদের সিঙ্ক করতে পারি না। ব্যাকগ্রাউন্ডের জন্য, আমি কম্পিউটার এ এ সংগ্রহস্থল তৈরি করেছি (গিট ভি 1.8) এবং তারপরে কম্পিউটার বিতে (গিট 2.14) ক্লোনি তৈরি করেছি। আমি কম্পিপ বিতে আমার সমস্ত পরিবর্তন করেছি, কিন্তু যখন আমি কম্পিউটারে এই পরিবর্তনগুলি টানতে চেষ্টা করি তখন এআই একইরকম উপরের ত্রুটিটি পেয়ে অক্ষম হয়েছিল। উপরের সমাধানগুলির মতো, আমাকেও করতে হয়েছিল:

git branch --set-upstream-to=origin/<my_repository_name> 
git pull

কিছুটা ভিন্ন তবে আশা করি কাউকে সাহায্য করবে


এটি আমার পক্ষে কাজ করেছিল; আমি একটি নন-মাস্টার শাখাও ব্যবহার করছিলাম যা একটি ভিন্ন কম্পিউটারে সেটআপ করা হয়েছিল। গিট বাশে এই কমান্ডটি ব্যবহার করে আমি তখন আমার পরিবর্তনগুলি অর্জন করতে সক্ষম হয়েছি :)
নোভাস্টর্ম


4

গিট ২.২৪ এর সাথে আপনাকে করতে হবে না

git branch --set-upstream-to=origin/master master
git pull

আপনি করতে সক্ষম হবেন:

git pull --set-upstream-to=origin/master master

" ডিফল্ট দূরবর্তী এবং শাখা -uবিকল্প ব্যবহার করে - এর সাথে কাজ করে pushতবে নয়pull " এ আরও দেখুন।




1

আমার কাছে একই ঘটনা ঘটেছিল যখন আমি নতুন গিট শাখা তৈরি করার সময় এটির উত্সে না ঠেকিয়ে।

প্রথমে দুটি লাইন কার্যকর করার চেষ্টা করুন:

git checkout -b name_of_new_branch # create the new branch
git push origin name_of_new_branch # push the branch to github

তারপর:

git pull origin name_of_new_branch

এটা এখন ঠিক করা উচিত!


1

বর্তমান শাখার রিমোটের শাখায় কোনও ট্র্যাকিং না থাকার কারণে এটি ঘটে। যাতে আপনি এটি 2 উপায়ে করতে পারেন।

  1. নির্দিষ্ট শাখার নাম সহ টানুন

গিট টান মূল মাস্টার

  1. অথবা আপনি স্থানীয় শাখায় ট্র্যাক করতে নির্দিষ্ট শাখা করতে পারেন।

গিট শাখা --set-upstream-to = মূল /


0

গিট শাখা --set-upstream-to = মূল / মূল


2
এটি আরও পরিষ্কার এবং বোধগম্য করার জন্য, আপনার উত্তরে কিছু ব্যাখ্যা যুক্ত করা সর্বদা সহায়ক। দয়া করে স্ট্যাকওভারফ্লো . com/help/how-to-answer পড়ুন
32cupo

1
@ 32cupo এর বক্তব্য ছাড়াও, এটি মূলত পাঁচ বছরের পুরানো গৃহীত উত্তরের মতো তবে কম ব্যাখ্যা দিয়ে with
জেরেমি কানে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.