Git uzak dallar listesini ne zaman yeniler?


496

Kullanarak git branch --alltüm uzak ve yerel şubeleri gösterir . Git bu listeyi ne zaman yeniler?

Çekme / itme sırasında? Git Bash kullanarak nasıl yenileyebilirim ?


5
Not olarak, git ls-remoteburada ilginç olabilir.
jthill

Yanıtlar:


1221

Yerel uzak dallar listesini güncellemek için:

git remote update origin --prune

Git'in bildiği tüm yerel ve uzak şubeleri göstermek için

git branch -a

143
git remote update origin --prunethx aradığım şey bu
WonderLand

6
Bu cevap, kullanımları arasındaki fark üzerinde git remote updateve kabul cevap, kullanımları git fetch, burada bakınız
The Red Pea

6
bu doğru cevap. git fetchuzak şubelerin yerel önbelleğimi kaldırmadım. Sadece --prunehepsini temizlemek mümkün.
Felipe Alvarez

23
Git ile bunu otomatik olarak yapabilirsinizgit config remote.origin.prune true
kjhf

8
git remote prune originaynı etkiye sahiptir ve daha az yazarsınız.
Dvin

27

git branch --allBash'ten çalıştırdığınızda , gördüğünüz uzak ve yerel dallar listesinin, komutunuzu çalıştırdığınızda yerel Git'inizin bildiklerini yansıtacağına inanıyorum. Git ürününüz sisteminizdeki yerel şubelere göre her zaman güncel olduğundan, yerel şubelerin listesi her zaman doğru olacaktır.

Ancak, uzak dallar için durum böyle değildir. Yerel Git, yalnızca son getirme (veya çekme) işleminde gördüğü uzak dalları bilir. Yani aday olabileceğini mümkündür git branch --allve olmayan göründü yeni uzaktan şube bkz sonra size getirilen veya çekilmiş son kez.

Yerel ve uzak şube listenizin güncel olduğundan emin olmak için çalıştırmadan git fetch önce bunu yapabilirsiniz git branch --all.

Daha fazla bilgi için, çalıştırdığınızda görünen "uzak" dallar git branch --allhiç de uzak değildir; aslında yerel. Örneğin, uzaktan kumandanın featureyerel Git'inize en az bir kez çektiğiniz bir şube olduğunu varsayalım . origin/featureÇalıştırdığınızda dal olarak listelenmiş olarak göreceksiniz git branch --all. Ancak bu dal aslında yerel bir Git şubesidir. Bunu yaptığınızda git fetch origin, bu izleme dalı uzaktan kumandadaki yeni değişikliklerle güncellenir. Bu nedenle yerel eyaletiniz bayatlayabilir, çünkü yeni uzak şubeler olabilir veya izleme şubeleriniz bayat olabilir.


4
Evet, git fetchbaşardı.
BendEg

14
Aşağı oy verenler için not: İyi niyetli bir açıklama ile doğru bilgilerin bir aşağı oyu hak ettiğini düşünüyorsanız, en azından konuşun ve bir yorum bırakın.
Tim Biegeleisen

3
git fetchbenim için çalışmıyor, eklemeye ihtiyacım var --prune. Btw, ben downvoter değilim;)
Deqing

3
git fetchsilinmiş uzak dalları kaldırmaz. Muhtemelen bu yüzden bazı insanlar aşağı indirdi
Jérôme MEVEL

@ JérômeMEVEL Kabul edilen cevabın 1000 yukarı oyu olması benim için bir harika. Bu çılgınca ... keşke bu tür bir pozlama
olsaydım

24

OP, varsayılan uzaktan kumandanın tüm dalları için değil, tüm uzaktan kumandalar için temizleme istemedi.

Yani git fetch --prunekullanılmalıdır budur.

Ayar git config remote.origin.prune trueyapar --pruneotomatik. Bu durumda sadece git fetchyerel kopyadan eski uzak dalları budamak olacaktır. Ayrıca bkz . Git getirme veya çekme ile otomatik budama .

Bunun artık uzak bir dalı izlemeyen yerel dalları temizlemediğini unutmayın. Bunun için artık uzaktan kumandada bulunmayan yerel izleme dallarını budama konusuna bakın .


Biraz daha kısa yapmak içingit fetch -p
Michael Warner

2

git fetchEn son oluşturulan tüm dalları almak için kullanın .


1
git fetchgit 2.17.1 ile benim için hiçbir şey değiştirmedi. Hangi sürümü ve seçenekleri kullanıyorsunuz?
PointedEars

2
Ya gerek --pruneveya git config remote.NAME.prune trueOP soru çözmek için bu
Oliver

-1

Eclipse kullanıyorsanız ve yukarıdan yeni dalları görmek istiyorsanız;

Git perspektifinde, bir Git deposuna sağ tıklayın ve ardından "Akış Yukarıdan Al" ı seçin. Bu, yeni uzak dalları getirir.


-8

Eclipse kullanıyorsanız,

  1. "Git Depoları" nı açın
  2. Deponuzu bulun.
  3. "Branşlar" ı ve ardından "Uzaktan İzleme" yi açın.

Git

Hepsi orada olmalı. Sağ tıklayın ve "ödeme yapın".


Bu soruya nasıl cevap veriyor? - "Git uzak dallar listesini ne zaman yeniler?"
Peter Mortensen

Yerel şubelerimi tutulma içinde yenilemek istediğimde googled ve beni buraya götürdü. Bu yazı aslında bazı upvotes olduğu için birkaç kişiye yardımcı oldu. Belki de soruyu yanlış anladım. Bana göre, Eclipse IS Git (arayüz). Herkesi rahatsız ettiğim için özür dilerim!
markthegrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.