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


133

আমি একটি গিট সংগ্রহস্থল ক্লোন করেছি এবং তারপরে একটি ট্যাগ চেক আউট করেছি:

# git checkout 2.4.33 -b my_branch

এটি ঠিক আছে তবে আমি যখন git pullআমার শাখায় চালানোর চেষ্টা করি তখন গিটটি এই ত্রুটিটি ছুঁড়ে দেয়:

বর্তমান শাখার জন্য কোনও ট্র্যাকিংয়ের তথ্য নেই। আপনি কোন শাখায় একত্রী হতে চান তা দয়া করে নির্দিষ্ট করুন। বিশদ জন্য গিট টান (1) দেখুন

git pull <remote> <branch>

আপনি যদি এই শাখার জন্য ট্র্যাকিংয়ের তথ্য সেট করতে চান তবে আপনি এটি সহ করতে পারেন:

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

আমি git pullকেবলমাত্র মাস্টার শাখাটি আপডেট করতে এবং আমার বর্তমান শাখাটি একা রেখে যেতে চাই (এটি কোনও ট্যাগ)। এই সম্ভব ভালো কিছু হয়?

আমার এটির কারণটি হ'ল আমার কাছে একটি স্বয়ংক্রিয় স্ক্রিপ্ট রয়েছে যা সর্বদা গিট সংগ্রহস্থলটি টান দেয় এবং অবশ্যই উপরের ত্রুটির কারণে ব্যর্থ হয় ..


উত্তর:


114

সম্পাদনা: গিতের নতুন সংস্করণগুলির জন্য, অবহেলা --set-upstream masterকরা হয়েছে, --set-upstream-toপরিবর্তে আপনার ব্যবহার করা উচিত :

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

যেমনটি অনুরোধ করা হয়েছে, আপনি কেবল চালাতে পারেন:

git branch --set-upstream master origin/master

এর পরে, আপনি কেবল git pullনিজের কোড আপডেট করার জন্য চালাতে পারেন ।


5
এটি সমস্যার সমাধান করেছে। তবে আমার এখনও বুঝতে হবে যে কীভাবে আমার মাস্টার শাখাটি উত্সের উল্লেখটি হারিয়েছে। আমি একটি শাখায় ছিল এবং করেছি git checkout mastergit pullউত্সের উল্লেখটি হারিয়ে যাওয়ার কারণে আমি করতে পারিনি । এখন এটা কাজ করছে. ধন্যবাদ!
এরিয়েল

'গিট শাখা --set-upstream-to = উত্সাহ / মাস্টার মাস্টার মাই ব্র্যাঞ্চ' আমার জন্য কাজ করেছে
ব্লু ক্লাউডস

90

আমার একই সমস্যা ছিল এবং এই আদেশটি দিয়ে এটি ঠিক করেছিলাম:

$ git push -u origin master

সহায়তা ফাইল থেকে -u মূলত টানার জন্য ডিফল্ট সেট করে:

-u, --set-upstream`

  For every branch that is up to date or successfully pushed, add 
  upstream (tracking) reference, used by argument-less git-pull(1) and
  other commands. For more information, see branch.<name>.merge in 
  git-config(1).

48

এই আদেশগুলি ব্যবহার করে দেখুন:

git pull origin master
git push -u origin master

9

ব্যবহার করে মাস্টার শাখায় ফিরে যান

$ git checkout master

এবং তারপরে git pullঅপারেশন চালান

$ git pull origin/master

এরপরে, আপনি আপনার my_branchআবার ফিরে যেতে পারেন ।


6
ঠিক এটাই আমি এড়াতে চাইছি। এটি জানতে কোনও "অফিসিয়াল" উপায় আছে কিনা তা আমি জানতে চেয়েছিলাম।
আলেস্কো

5

@ আলেসকো : কেবলমাত্র শাখা আপডেট করার জন্য কেবলমাত্র git pullচেকআউট my_branchকরার পরে সম্ভব নয় master
কারণ আপনার git pullদৃশ্যে বর্তমান শাখায় -> একত্রিত হবেmy_branch

@Simon : এটি দেবে। এটা কেন?

$ git branch -u origin/master
Branch master set up to track remote branch master from origin.

এবং দস্তাবেজের সাথে সংগতিপূর্ণ:

-u <upstream>
  Set up <branchname>'s tracking information so <upstream> is considered  
  <branchname>'s upstream branch. If no <branchname> is specified,  
  then it defaults to the current branch.

4

প্রথমে নিশ্চিত হয়ে নিন যে আপনি ডান শাখায় রয়েছেন।
তারপরে (কেবলমাত্র একবারে):

git branch --track

এর পরে এটি আবার কাজ করে:

git pull

4

আপনার একাধিক শাখা থাকতে পারে। এবং আপনার বর্তমান শাখাটি এর প্রবাহকে রিমোটে সেট করে নি।

এটি ঠিক করার পদক্ষেপ:

git checkout branch_name
git branch --set-upstream-to=origin/remote_branch_name local_branch_name

যেমন

// this set upstream of local branch develop to remote branch  origin/develop,
git branch --set-upstream-to=origin/develop develop

এটি করার পরে, আপনি যখন করবেন git pull, এটি নির্দিষ্ট শাখা থেকে টানবে।


3

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

git pull origin master

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

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

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

--set-upstream গিট 1.9.x এ আপাতভাবে হ্রাস করা হয়েছে। এগিয়ে যাওয়া আপনি এমন কিছু ব্যবহার করতে চাইবেন

git branch -u origin/master

ধরে নিচ্ছি আপনি ইতিমধ্যে মাস্টার পরীক্ষা করেছেন। যদি না হয়, git branch -u origin/master masterকাজ করবে


2

এটা চেষ্টা কর

git checkout master

git pull origin master

2
এটি আসলে প্রশ্নের উত্তর দিচ্ছে না। এছাড়াও আছে, যদিও আরো অনেক কিছু এই পুরোনো প্রশ্নের উত্তর যেমন মানানসই হয় কোন গৃহীত উত্তর শীর্ষ এক ভোট এর
fejese

1

বর্তমান শাখার জন্য আপনাকে আপনার ট্র্যাকিং (আপস্ট্রিম) সেট আপ করতে হবে

git branch --set-upstream master origin/master

এর পরিবর্তে ইতিমধ্যে অবহিত করা হয়েছে - আপনি - ট্র্যাক পতাকা ব্যবহার করতে পারেন

git branch --track master origin/master

আমি ডক রেফারেন্সটিও পছন্দ করি যা @ কেসি নোটিশ দেয়:

-u <upstream>
  Set up <branchname>'s tracking information so <upstream> is considered  
  <branchname>'s upstream branch. If no <branchname> is specified,  
  then it defaults to the current branch.

1

আমার জন্য যা কাজ করেছিল তা হ'ল: গিট শাখা --set-upstream-to = মূল মাস্টার যখন আমি আবার টানলাম তখন আমি কেবলমাত্র মাস্টারের কাছ থেকে আপডেট পেয়েছি এবং সতর্কতাটি চলে গেছে।


1

আমার মতো যদি আপনাকে সর্বদা এটি করা দরকার হয় তবে আপনি নিজের .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/


0

কেবল আপডেটগুলি ডাউনলোড করতে:

git fetch origin master

যাইহোক, এটি কেবল বলা একটি রেফারেন্স আপডেট করে origin/master। আপনার স্থানীয় আপডেট করার সর্বোত্তম উপায় masterহ'ল অন্য মন্তব্যে উল্লিখিত চেকআউট / মার্জ। যদি আপনি গ্যারান্টি দিতে পারেন যে আপনার স্থানীয়টি masterপ্রধান ট্রাঙ্কটি চালু রয়েছে না তবে origin/masterআপনি আপনার বর্তমানটিকে নতুন পয়েন্টে মানচিত্র করতে ব্যবহার করতে পারেন তবে নিয়মিত ভিত্তিতে ব্যবহার করা সম্ভবত এটি সেরা সমাধান নয় ...git update-refmaster


0

এই আদেশটি হ্রাস করা হয়েছে: git branch --set-upstream master origin/master

সুতরাং, যখন ট্র্যাকিং সেট আপ করার চেষ্টা করা হচ্ছে, এটি হ'ল আদেশটি যা আমার পক্ষে কাজ করেছে:

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