রিমোট শাখা "গিট ব্রাঞ্চ-আর" তে প্রদর্শিত হচ্ছে না


139

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

আমি তার আপলোড করা পরিবর্তনগুলি আনার চেষ্টা করছি।

 $ git branch -a
 * master
 localbranch1
 localbranch2
 remotes/origin/master

it গিট শাখা -আর উত্স / মাস্টার

বিটবকেটের জন্য ওয়েব ইউআইতে আমি তার তৈরি শাখাটি দেখতে পাচ্ছি। কিভাবে আমি এটি করতে পারব?

পরবর্তী চেষ্টা:

$ git fetch bitbucket
Password for 'https://xxxxx@bitbucket.org':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD

তিনি যে শাখাটি তৈরি করেছেন তাকে যদি নতুন_ ব্রাঞ্চ_বি বলা হয় তবে আমার কি নিম্নলিখিতটি দেখার আশা করা উচিত?

$ git branch -r
origin/master
origin/new_branch_b

তৃতীয় চেষ্টা:

$ git remote update
Fetching bitbucket
Password for 'https://xxxxx@bitbucket.org':
From https://bitbucket.org/user/repo
 * branch            HEAD       -> FETCH_HEAD

$ git branch -r
  origin/master

চতুর্থ চেষ্টা:

[remote "bitbucket"]
url = https://user@bitbucket.org/user/repo.git

আমি রিমোটটিকে bitbucketমূলের পরিবর্তে কল করেছি (কমপক্ষে এটিই আমি স্মরণ করছি; আমি এটি কিছুক্ষণ আগে সেট আপ করেছি)

পঞ্চম চেষ্টা:

কানের উত্তর অনুসারে আমি বিটবকেট রিমোট কনফিগারেশন আপডেট করেছি :

it গিট কনফিগারেশন -e

[remote "bitbucket"]
    url = https://user@bitbucket.org/user/repo.git
    fetch = +refs/heads/*:refs/remotes/bitbucket/*

বেশিরভাগ মানুষের জন্য এটিকে উত্স বলা হবে:

[remote "origin"]
    url = https://user@bitbucket.org/user/repo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

পরবর্তীতে

$ git remote update

Fetching bitbucket
Password for 'https://user@bitbucket.org':
remote: Counting objects: 48, done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 35 (delta 21), reused 0 (delta 0)
Unpacking objects: 100% (35/35), done.
From https://bitbucket.org/user/repo
 * [new branch]      branch_name1 -> origin/branch_name1
 * [new branch]      branch_name2    -> origin/branch_name2

.... ইত্যাদি।

আমি মনে করি git fetch originএটির জন্যও কাজ করবে git remote update


1
দুর্দান্ত, তবে এর refs/remotes/bitbucket/*পরিবর্তে এটি ব্যবহার করার আরও বুদ্ধি ছিল refs/remotes/origin/*
কান

ধন্যবাদ, নামকরণের ধারাবাহিকতা সম্পর্কে যথাযথভাবে উল্লেখ করা হয়েছে। যদিও সম্ভবত বিটবাকেটটি উত্সে পরিবর্তন করা আরও বোধগম্য! কনভেনশন এবং যাবতীয় :)
ভয়ঙ্কর

1
git fetch originকাজটি করে
ডিশ

উত্তর:


107

remoteঅধ্যায় এছাড়াও নির্দিষ্ট করে নিয়ম আনা। রিমোট থেকে সমস্ত শাখা আনতে আপনি এর মধ্যে এমন কিছু যুক্ত করতে পারেন:

fetch = +refs/heads/*:refs/remotes/origin/*

(বা প্রতিস্থাপন originসঙ্গে bitbucket।)

দয়া করে এটি সম্পর্কে এখানে পড়ুন: 10.5 গিট অভ্যন্তরীণ - রেফস্পেক


3
এটি আমার চলমান শাখার সমস্যাটি গিটে স্থির করেছিল যা আমার কয়েক সপ্তাহ ধরে ছিল। হঠাৎ সমস্ত গিট রিমোট আপডেট স্টাফ আসলে কাজ করা শুরু করে। ধন্যবাদ!
পললিভার

2
কোনও কারণে, এটি দেখতে fetch = +refs/heads/master:refs/remotes/origin/masterআমার মতো লাগছিল: প্রতিস্থাপন করা হচ্ছে masterসঙ্গে *আমার সমস্যা সংশোধন করা হয়েছে।
সেবাস্তিয়ান ব্লাস্ক

2
যদি আপনি কোনও অগভীর ক্লোনটিকে একটি অস্বচ্ছল রূপান্তর করে থাকেন তবে এটি খুব উপকারী।
ওয়ারপজিট

@ ক্যান আপনি কি জানেন যে মাঝে মাঝে কেন এমন হয়? git cloneপ্রকল্পটি যখন আমার সাথে ঘটে তখনই । আমার স্থানীয় গিটের সাথে বিশেষ কিছু করার কথা মনে নেই।
dotnetCarpenter

নিবন্ধ এটা কি সম্ভব যে cloneবাধা পেয়ে আবার চালু করা হয়েছিল? বা অন্য কিছু একই সাথে রেপো অ্যাক্সেস করেছে?
কান

218

আপনি এখনও এটি না করে থাকলে আপনার রিমোট আপডেট করুন:

$ git remote update
$ git branch -r

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

git remote updateআমি ইউআইতে নতুন শাখা দেখতে পাবার পরে । ধন্যবাদ
টিঙ্কাল গোগোই

এটি সাহায্য করেনি।
dKab

আমার মনে হয় আমি জালিয়াতিটি সফলভাবে শাখাটি এনেছিলাম তবে এটির সাথে তালিকাভুক্ত হওয়া দরকার git branch -r। উপর git-scm.com/docs/git-branch এটি "বিকল্প হল -r ঘটায় দূরবর্তী-ট্র্যাকিং শাখা তালিকাভুক্ত হতে পারে, এবং বিকল্প -a শো স্থানীয় ও দূরবর্তী উভয় শাখা" বলেছেন। git remote updateতালিকাভুক্ত সমস্ত রিমোটগুলির সমস্ত শাখা নিয়ে আসে git remote -v
রক লি

এটি চালানোর পরে আমি দৌড়াতে সক্ষম হয়েছি git checkout origin/masterএবং তার পরে সেই মাস্টার শাখায় আমার বিচ্ছিন্ন মাথাটি ব্রাঞ্চ করে দেওয়া হয়েছিলgit branch master; git checkout master
Dfranc3373

35

আপনি যদি --depthপ্যারামিটারটি দিয়ে ক্লোন করেন তবে এটি .git/configসমস্ত শাখা আনতে সেট করে না, তবে কেবলমাত্র মাস্টার।

আপনি কেবলমাত্র প্যারামিটার বাদ দিতে পারেন বা এ থেকে কনফিগারেশন ফাইল আপডেট করতে পারেন

fetch = +refs/heads/master:refs/remotes/origin/master

প্রতি

fetch = +refs/heads/*:refs/remotes/origin/*

1
ধন্যবাদ! আপনি উত্তরটি আসলে সমস্যাটি সহজেই সমাধান করে এবং এটি করার সঠিক উপায় বলে মনে হয়। তবে আপনার যুক্ত করা উচিত যে কনফিগারেশন ফাইলটি রয়েছে .git/config, যাতে লোকেরা এটি সন্ধান করতে পারে।
dotnetCarpenter

19

আমারো একই ইস্যু ছিল. দেখে মনে হচ্ছে এটির সহজ সমাধান হ'ল কেবল রিমোটটি সরিয়ে ফেলা, এটি পুনরায় পাঠানো এবং আনা।


1
এই উত্তরটি খুঁজতে অনেক সময় ব্যয় করছিল। এটি কোনও সমস্যা ছাড়াই কাজ করেছে। ধন্যবাদ। :)
কিসানমে

1
আমার জন্যও কাজ করেছিলাম, বেশ আশ্চর্যজনক যে এটি এর সমাধান করেছে
CailinP

1
git remote -vআপনাকে আপনার রিমোটগুলি দেখায় যাতে আপনি ইউআরএল ধরে রাখতে git remote rm originপারেন, এটি সরিয়ে ফেলবেন, এটিকে git remote add origin <url>আবার যুক্ত করবেন।
সিদ্ধার্থ

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

আমার জন্য কাজ করেছেন, তবে এখন আমি একটি সতর্কতা warning: ignoring broken ref refs/remotes/origin/HEAD
পেয়েছি

7

দুর্ভাগ্যক্রমে, git branch -aএবং যদি আপনি "গিট ফেচ" সম্পাদন না করে থাকেন তবে আপনাকে সমস্ত দূরবর্তী শাখা প্রদর্শন git branch -rকরবেন না

git remote show originসার্বক্ষণিক ধারাবাহিকভাবে কাজ করে। এছাড়াও git show-refগীত সংগ্রহস্থলের মধ্যে সমস্ত রেফারেন্স দেখায়। তবে এটি ঠিক git branchকমান্ডের মতোই কাজ করে ।

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