গিটে আনতে সমস্ত শাখা পায় না


201

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

সঠিক কর্ম বলে মনে হয় হতে

git fetch
git branch -a
* master
  remotes/origin/HEAD --> origin/master
  remotes/origin/master
git checkout -b dev-gml origin/dev-gml

এই মুহূর্তে একটি সমস্যা আছে, কোনও কারণে পরে git fetchআমি দেব-জিএমএল দূরবর্তী শাখা দেখতে পাচ্ছি না। কেন না? আমি যদি ভাণ্ডারটিকে নতুনভাবে ক্লোন করে থাকি তবে এটি সেখানে রয়েছে, তাই অবশ্যই দূরবর্তী শাখা উপস্থিত রয়েছে:

$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev-gml
  remotes/origin/master

আমি চেষ্টা করেছি git update, git pull, git fetch --all, git pretty-pleaseসব সম্ভব একাধিক বিন্যাসন করুন ...


44
কি git config --get remote.origin.fetchউত্পাদন করে? যদি এটি না হয় +refs/heads/*:refs/remotes/origin/*, এটি সম্ভবত হওয়া উচিত।
টেরিক

হ্যাঁ, এটি ঠিক যা উত্পাদন করে
এডওয়ার্ড নেওয়েল

3
ঠিক একই সমস্যা, কিন্তু উপরের মন্তব্যটি এর সমাধান করেছে! আমার কাছে তা থাকত +refs/heads/master:refs/remotes/origin/masterসঙ্গে masterপরিবর্তে*
Mirko

1
আমার জন্য একই সমস্যা, তবে এই পৃষ্ঠায় দেওয়া কোনও পরামর্শই এটিকে সমাধান করে না। রহস্যময়।
ম্যাগনাস

1
@ থোনি ৫6: হ্যাঁ, এটি সম্ভবত অগভীর ক্লোনটির কারণে is
ট্রান

উত্তর:


383

সমস্যাটি remote.origin.fetchসেটিংটি পরীক্ষা করার সময় দেখা যায়
(শুরু হওয়া লাইনগুলি $আমার টাইপ করা কমান্ডগুলির সাথে বাশ জিজ্ঞাসা করে are

$ git config --get remote.origin.fetch
+refs/heads/master:refs/remotes/origin/master

আপনি দেখতে পাচ্ছেন যে, আমার ক্ষেত্রে, রিমোটটি বিশেষভাবে এবং কেবলমাত্র মাস্টার ব্রাঞ্চ আনার জন্য সেট করা হয়েছিল। ফলাফলটি যাচাই করার জন্য দ্বিতীয় কমান্ড সহ আমি নীচে এটি ঠিক করেছি।

$ git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
$ git config --get remote.origin.fetch
+refs/heads/*:refs/remotes/origin/*

*অবশ্যই ওয়াইল্ডকার্ড মানে সেই পথের নীচে থাকা সমস্ত কিছুই।

দুর্ভাগ্যক্রমে আমি এই মন্তব্যটি দেখেছি যখন আমি ইতিমধ্যে খনন করেছিলাম এবং পরীক্ষার এবং ত্রুটির দ্বারা উত্তরটি খুঁজে পেয়েছি।


2
এটি সম্ভবত গ্রহণযোগ্য উত্তর হওয়া উচিত, কারণ এটি মূল পোস্টটিতে সমস্যাটি সমাধান করেছিল resolved
লোকালপিসিগুয়ে 26'15

1
কেবল একটি পার্শ্ব নোট, --replace-allআমারremote.origin.fetch
গারিস এম সুয়েরো

4
মনে রাখবেন যে আপনি যদি কেবলমাত্র একটি একক শাখায় আপনার সংগ্রহস্থলটিকে ক্লোন করে git clone <url> --branch <branch> --single-branch [<folder>]
রেখেছেন

2
স্টক্সের উত্তরটি পরীক্ষা করুন
নিউবি

5
আপনি যখন ক্লোন করেছেন তখন এটি ঘটতে পারেgit clone ... --depth 1
আনাতোলি বিভল

107

আমি আজ একটি রেপোতে এই সমস্যা ছিল।

+refs/heads/*:refs/remotes/origin/*শীর্ষ সমাধান হিসাবে এটি সমস্যা ছিল না ।

লক্ষণটি ছিল সহজভাবে git fetch originবাgit fetchআনার জন্য প্রত্যন্ত শাখা থাকলেও কেবল কিছুই করার জন্য উপস্থিত হয়নি।

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

এর সাথে অপসারণ: git remote rm origin

এবং এর সাথে পুনরায় তৈরি করুন: git remote add origin <git uri>


14
আমি remote.origin.fetchযেমন জন্য গিট কনফিগারেশন সঠিক ছিল +refs/heads/*:refs/remotes/origin/*। উপরের সমাধানটি আমাকে সাহায্য করেছিল।
নিউবি

9
এই সমাধানটি আমার জন্যও সঠিক ছিল। এটি দুর্ভাগ্যজনক যেহেতু এটি নির্দেশ করে যে গিটে সম্ভাব্যত একটি বাগ রয়েছে।
রবার্ট অসলারের

2
এটি আমার সমস্যাও সমাধান করেছে। আমি এই সমস্যাটি গিট সংস্করণ ২.১৯.১v সহ একটি মেশিনে উপস্থিত হতে দেখি তবে এটি গিট সংস্করণ ২.১17.১ সহ অন্য কোনও মেশিনে অনুভব করতে পারিনি
জেরপিন্ট

6
git remote update originআমার জন্য কাজ। আমার মনে হয় কিছু রিফ্রেশ দরকার?
ফিলিপ জেরার্ড 21

2
git remote update originআমার জন্য কাজ করে না তবে রিমোটটি সরিয়ে ও যুক্ত করে।
আনাতোলি কেমেটুক

58

রিমোট আপডেট

আপনার চালানো দরকার

git remote update

অথবা

git remote update <remote> 

তারপরে আপনি git branch -rদূরবর্তী শাখাগুলির তালিকা চালাতে পারেন ।

একটি নতুন শাখা চেকআউট করুন

স্থানীয় শাখা হিসাবে একটি (নতুন) দূরবর্তী শাখা ট্র্যাক করতে:

git checkout -b <local branch> <remote>/<remote branch>

বা (কখনও কখনও এটি অতিরিক্ত ছাড়া কাজ করে না remotes/):

git checkout -b <local branch> remotes/<remote>/<remote branch>

সহায়ক গিট চিটশিট


5
তবে আমার সমস্যাটি হ'ল আমি একটি বিদ্যমান দূরবর্তী শাখাটি চেকআউট করতে পারি না , কারণ আমার গিট ক্লায়েন্টটি এটি বিদ্যমান বলে মনে করে না। আমার প্রশ্ন দেখুন। মনে রাখবেন যে আমি যখন এটি git fetchঅনুসরণ করি তখন git branch -aসমস্ত শাখা প্রদর্শন করে না। dev-gmlএকজন সহযোগী তৈরি করা শাখাটি দেখতে আমাকে আমার কর্মক্ষম ডিরেক্টরি মুছতে এবং পুনরায় ক্লোন করতে হয়েছিল। এটি এবার কাজ করেছে, তবে আমরা প্রায়শই শাখা করব!
এডওয়ার্ড নেওয়েল

আরে @EdwardNewell, উত্তরের জন্য thnks শুধু যাক আপনি কি জানেন, আপনার লিঙ্ক cheat.errtheblog.com/s/git আমার জন্য মারা গেছে ...
Kjellski

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

রেকর্ডের জন্য, বিটটি আমাকে এখানে সাহায্য করেছিল git remote update origin। এটি অনুপস্থিত শাখার মাধ্যমে দৃশ্যমান করে তুলেছে git branch -l -r। (আমি দেখেছিলাম git config --get remote.origin.fetchএবং আউটপুটটি +refs/heads/*:refs/remotes/origin/*আশানুরূপ হয়েছিল ))
রবার্ট ডডিয়র

9

টার্মিনাল থেকে এটি লিখুন

git fetch --prune.

এটা ঠিক কাজ করে।


1
ধন্যবাদ! আমি অনেকগুলি চেষ্টা করেছিলাম এবং ভেবেছিলাম যে আমি এটিই একটি শট দেব ... এখন আমি আসলে কী করেছি তা সন্ধান করার জন্য ...
এটিই ম্যাডটুরকি

এটার কাজ কি?
অ্যাডাম অরলভ

এটি সমস্ত উপলব্ধ শাখা লাগে। মাথা তাকান।
সামেট ÖZTOPRAK

4

এটিকে আরও সুনির্দিষ্ট করে তুলতে একটি ট্র্যাকিং শাখা তৈরি করুন যার অর্থ আপনি এখন একটি প্রত্যন্ত শাখা ট্র্যাক করছেন।

git branch --track branch remote-branch
git branch --track exp remotes/origin/experimental

যা পরে আপনি করতে পারেন

git branch   # to see the remote tracking branch "exp" created .

তারপরে সেই শাখায় কাজ করতে হবে

git checkout branchname
git checkout exp

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

git fetch origin
git merge origin/experimental  
git push origin/experimental

আশা করি এটি আপনাকে সহায়তা করে এবং একটি ধারণা দেয়, এটি কীভাবে কাজ করে।


1

আমার অনুরূপ সমস্যা ছিল, তবে আমার ক্ষেত্রে আমি দূরবর্তী শাখায় টান / ধাক্কা দিতে পারি তবে git status তবে স্থানীয় শাখার রাজ্যটি রিমোটগুলি দেখায় না।

এছাড়াও, আমার ক্ষেত্রে git config --get remote.origin.fetch কিছুই ফেরেনি

সমস্যাটি হ'ল একটি টাইপও ছিল .git/config সংশ্লিষ্ট রিমোট ব্লকের আনার লাইনে ফাইলটিতে । সম্ভবত আমি ভুলক্রমে কিছু আগে যুক্ত করেছিলাম (কখনও কখনও আমি সরাসরি এই ফাইলটি দেখি, এমনকি এটি সম্পাদনাও করি)

সুতরাং, .git/configফাইলটিতে আপনার দূরবর্তী এন্ট্রি সঠিক কিনা তা পরীক্ষা করুন eg

[remote "origin"]
    url = https://[server]/[user or organization]/[repo].git
    fetch = +refs/heads/*:refs/remotes/origin/*

0

এটি মুখের তালুতে মুহুর্তের কারণে হতে পারে: আপনি যদি বেশ কয়েকটি ক্লোনগুলির মধ্যে স্যুইচ করেন তবে অস্তিত্বহীন শাখাটি টানানোর চেষ্টা করে ভুল উত্স ট্রিতে নিজেকে খুঁজে পাওয়া সহজ। ক্লোনগুলির অনুরূপ নাম থাকলে বা রেপোগুলির একাধিক অবদানকারীদের থেকে একই প্রকল্পের জন্য স্বতন্ত্র ক্লোন হয় তবে এটি আরও সহজ is একটি নতুন গিট ক্লোন স্পষ্টতই সেই "সমস্যার" সমাধান করবে বলে মনে হবে যখন আসল সমস্যাটি ফোকাস হারিয়ে ফেলছে বা কাজের প্রসঙ্গ বা উভয়ই হারাবে।


0

এখানে কিছুই কাজ করছে না বলে মনে হচ্ছে আমাকে আমার গিটএক্সটেনশন রিমোট রিপোজিটরিগুলিতে যেতে হয়েছিল। সেখানে আমি দেখেছি যে 2 টি শাখার কোনও দূরবর্তী সংগ্রহস্থল কনফিগার করা নেই। সামঞ্জস্য করার পরে এটি নীচের মত দেখাচ্ছে looksএখানে চিত্র বর্ণনা লিখুন

নোটিশ শাখা noExternal3এখনও রিমোট রিপোজিটরি না থাকার হিসাবে দেখায়। নিশ্চিত নন যে বাশ কমান্ডের কম্বোটি এটি খুঁজে পেয়েছিল বা সামঞ্জস্য করেছে।


0

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

git remote rm origin
git remote add origin git@github.com:web3coach/the-blockchain-bar-newsletter-edition.git

git fetch --all
// Ta daaa all branches fetched

-1

আমাদের একই সমস্যা ছিল এবং আপনাকে ব্যবহার করতে হবে

git fetch

git push origin branch_name

git branch -r

আশা করি এটি একই সমস্যার মুখোমুখি কাউকে সহায়তা করবে

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