গিট কখন দূরবর্তী শাখাগুলির তালিকা রিফ্রেশ করে?


495

ব্যবহার করে git branch --allসমস্ত দূরবর্তী এবং স্থানীয় শাখা দেখায় । গিট কখন এই তালিকাটি রিফ্রেশ করে?

টান / ঠেলা? এবং আমি কীভাবে এটি গিত ব্যাশ ব্যবহার করে রিফ্রেশ করব ?


5
একটি নোট হিসাবে, git ls-remoteএখানে আকর্ষণীয় হতে পারে।
jthill

উত্তর:


1218

দূরবর্তী শাখাগুলির স্থানীয় তালিকা আপডেট করতে:

git remote update origin --prune

সমস্ত স্থানীয় এবং দূরবর্তী শাখাগুলি দেখাতে যা (স্থানীয়) গিট জানে

git branch -a

143
git remote update origin --pruneআমি যা খুঁজছিলাম তা
হ'ল

6
এই উত্তরটি, যা ব্যবহারের মধ্যে পার্থক্য উপর git remote update, এবং গৃহীত উত্তর, যা ব্যবহার git fetch, এখানে দেখতে
দ্য রেড মটর

6
এটা সঠিক উত্তর. git fetchদূরবর্তী শাখাগুলির আমার স্থানীয় ক্যাশে সরিয়ে দেয়নি। কেবল --pruneএটি সমস্ত পরিষ্কার করতে সক্ষম ছিল।
ফিলিপ আলভারেজ

23
আপনি git config remote.origin.prune true
গিটটি

8
git remote prune originএকই প্রভাব আছে এবং আপনি কম টাইপ করুন।
ডিভিন

27

আমি বিশ্বাস করি যে আপনি যদি git branch --allবাশ থেকে চালান তবে আপনি যে রিমোট এবং স্থানীয় শাখাগুলি দেখেছেন তার কমান্ডটি চালানোর সময় আপনার স্থানীয় গিট "জানেন" তার প্রতিফলন ঘটবে। আপনার গিটটি আপনার সিস্টেমে স্থানীয় শাখাগুলির সাথে সর্বদা আপ টু ডেট থাকায় স্থানীয় শাখাগুলির তালিকা সর্বদা নির্ভুল থাকবে।

তবে, প্রত্যন্ত শাখাগুলির ক্ষেত্রে এটি হওয়া উচিত নয়। আপনার স্থানীয় গিট কেবল দূরবর্তী শাখাগুলি সম্পর্কেই জানেন যা এটি শেষ আনতে (বা টানতে) দেখেছিল। সুতরাং এটি সম্ভবত সম্ভব যে আপনি চালাবেন git branch --allএবং কোনও নতুন দূরবর্তী শাখা দেখতে পাবেন না যা শেষবার আপনি আনার সময় বা টানার পরে উপস্থিত হয়েছিল

আপনার স্থানীয় এবং দূরবর্তী শাখার তালিকাটি আপ টু ডেট রয়েছে তা নিশ্চিত করার জন্য আপনি চালনার git fetch আগে একটি কাজ করতে পারেন git branch --all

আরও তথ্যের জন্য, "দুরত্ব" শাখাগুলি প্রদর্শিত হয় যা আপনি চালনা করার সময় একেবারে git branch --allদূরবর্তী নয়; তারা আসলে স্থানীয়। উদাহরণস্বরূপ, ধরুন রিমোটে একটি শাখা রয়েছে featureযা আপনি কমপক্ষে একবার আপনার স্থানীয় গিটে টানলেন। আপনি origin/featureচালানোর সময় আপনি একটি শাখা হিসাবে তালিকাভুক্ত দেখতে পাবেন git branch --all। তবে এই শাখাটি আসলে স্থানীয় গিট শাখা। আপনি যখন করেন git fetch origin, এই ট্র্যাকিং শাখা দূরবর্তী থেকে নতুন কোনও পরিবর্তন সহ আপডেট হয়। এ কারণেই আপনার স্থানীয় রাজ্যটি বাসি হয়ে উঠতে পারে, কারণ এখানে নতুন দূরবর্তী শাখা থাকতে পারে বা আপনার ট্র্যাকিং শাখাগুলি বাসি হয়ে যেতে পারে।


4
হ্যাঁ, git fetchএটা করেছেন।
বেনডেগ

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

3
git fetchআমার জন্য কাজ করে না, অ্যাড দরকার --prune। ); BTW, আমি downvoter আছি
Deqing

3
git fetchমুছে ফেলা দূরবর্তী শাখা সরান না। সম্ভবত এই কারণেই কিছু লোক
হ্রাস পেয়েছে

@ JérômeMEVEL এটি আমার কাছে আশ্চর্য যে গ্রহণযোগ্য উত্তরের এখন 1000 টি উর্ধ্বতন রয়েছে। এটা পাগল ... ইচ্ছে করে আমার কাছে এই ধরণের এক্সপোজার
থাকত

24

ওপি ডিফল্ট রিমোটের সমস্ত শাখার জন্য সমস্ত রিমোটের জন্য পরিষ্কারের জন্য অনুরোধ করে নি।

তাই git fetch --pruneব্যবহার করা উচিত।

সেটিং স্বয়ংক্রিয় করে git config remote.origin.prune trueতোলে --prune। যে ক্ষেত্রে শুধু ইন git fetchস্থানীয় অনুলিপি থেকে হবে এছাড়াও খেজুর মামুলি দূরবর্তী শাখা। গিট আনতে বা টানতে স্বয়ংক্রিয় ছাঁটাইটিও দেখুন ।

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


এটিকে আরও খাটো করার জন্যgit fetch -p
মাইকেল ওয়ার্নার

2

git fetchসমস্ত সর্বশেষ তৈরি শাখাগুলি আনতে ব্যবহার করুন ।


1
git fetch2.17.1 গিট দিয়ে আমার জন্য কিছু পরিবর্তন করেনি। আপনি কোন সংস্করণ এবং বিকল্পগুলি ব্যবহার করছেন?
পয়েন্টেড ইয়ার্স

2
ওপি প্রশ্নটি সমাধান করার জন্য আপনার প্রয়োজন --pruneবা এর git config remote.NAME.prune trueজন্য প্রয়োজন
অলিভার

-1

আপনি যদি Eclipse ব্যবহার করছেন এবং উজান থেকে নতুন শাখা দেখতে চান;

গিটের দৃষ্টিকোণে, গিট সংগ্রহস্থলটিতে ডান ক্লিক করুন এবং তারপরে "আপস্ট্রিম থেকে আনুন" চয়ন করুন। এটি নতুন প্রত্যন্ত শাখা নিয়ে আসে।


-8

আপনি যদি গ্রহনটি ব্যবহার করছেন,

  1. "গিট সংগ্রহস্থল" খুলুন
  2. আপনার ভাণ্ডার সন্ধান করুন।
  3. "শাখা" খুলুন তারপরে "রিমোট ট্র্যাকিং"।

git

তারা সবাই সেখানে থাকা উচিত। ডান ক্লিক করুন এবং "চেকআউট"।


কিভাবে এই প্রশ্নের উত্তর দেয়? - "গিট দূরবর্তী শাখাগুলির তালিকা কখন রিফ্রেশ করে?"
পিটার মর্টেনসেন

যখন আমি আমার স্থানীয় শাখাটি গ্রহনে রিফ্রেশ করতে চেয়েছিলাম, আমি গুগল করেছিলাম এবং এটি আমাকে এখানে নিয়ে গেছে। এই পোস্টটি কিছু লোককে সহায়তা করেছে কারণ এতে কিছুটা অগ্রগতি হয়েছিল। আমি হয়ত প্রশ্নটি ভুল বুঝেছি। আমার কাছে, Eclipse IS Git (এটির ইন্টারফেস)। সবাইকে অপমান করার জন্য দুঃখিত!
মার্কথেগ্রিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.