Git: Yalnızca yerel şubeleri nasıl listeleyebilirim?


935

git branch -a hem uzak hem de yerel şubeleri gösterir.

git branch -r uzak dalları gösterir.

Sadece yerel şubeleri listelemenin bir yolu var mı?

Yanıtlar:


1444

Sadece git branchseçenekler olmadan.

Manpage'den:

Hiçbir argüman olmadan, mevcut dallar listelenir ve mevcut dal bir yıldız işaretiyle vurgulanır.


25
Uzak bir şubesi olmayan yerel şubeleri listelemenin bir yolunu bulmayı umuyordum.
Steve Crane

5
Tamamen değil ama sorumun yanıtları Uzak şubesi olmayan yerel şubeleri nasıl listeleyebilirim, yardım sağlayın.
Steve Crane

3
@ c00kiemon5ter Nasıl olsa bir sürü puan almak için bir yol bulduğunuzu seviyorum! Çok komik.
Abram

4
bu sorulan soruya doğru cevap nasıl ("... listelemek * sadece yerel şubeler ...") ???
Wagner da Silva

7
@ gr4viton: Bildiğim İngilizce lehçelerinde "sadece yerel şubeleri listele" genellikle "yalnızca yerel şubeleri listele" olarak ayrıştırılır. ("Sadece yerel olan şubeleri listele" demek için "yalnızca yerel şubeleri listele" diyebilirim.)
Mathieu K.

221

sadece düz komut

git branch

5
Bu cevap, kabul edilen cevapla tamamen aynı zaman damgasına sahiptir. Kabul edilen cevap milisaniye kısmında önde olmalıdır :)
RBT

4
@RBT Zamanın üzerine gelin. Bu cevap 9 saniye daha hızlıydı.
Kevin Workman

1
c00kiemon5ter cevap için krediyi hak ediyor!
skydev

75

git branch -a- Bütün dallar.

git branch -r- Yalnızca uzak dallar.

git branch -l veya git branch- Yalnızca yerel şubeler.


Bana göre bu cevabın biçimlendirmesi, aslında -lanlamına gelir . Bu karışıklığı önlemek için kaldırmayı öneririm - teknik olarak bu cevaptaki tüm komutlar kullanabilir ve yine de aynı sonuçları döndürürlerdi. --local--list-l
Thibaud Colas

34

Önde gelen yıldız bir sorun ise, bir boru git branchaşağıdaki gibi

git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'

Bu aynı zamanda kafanızı çıkardığınızda ortaya çıkan '(dalsız)' çizgisini de ortadan kaldırır.


1
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'Git sürüm 1.9.1 için bunu değiştirmek zorunda kaldı.
Iurii

6
cut -c 3-daha kolay bir seçenektir
Alexey

33

Bunu yapmanın en basit yollarından biri

git for-each-ref --format='%(refname:short)' refs/heads/

Bu, komut dosyaları için de mükemmel çalışır.


12

Aynı ada sahip uzak bir şubesi olmayan yerel şubeleri nasıl listeleyeceğiniz aşağıda açıklanmıştır:

git branch | sed 's|* |  |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote

3
Güzel, ayrıca oneliner: comm -23 <(git branch | sed 's|* | |' | sort) <(git branch -r | sed 's|origin/||' | sort )
gr4viton

10

Sadece yerel şubelerin bir listesini almanın diğer yolu:

git branch -a | grep -v 'remotes'

4

Yalnızca yerel şubelerin nasıl silineceği hakkında bir gönderiye harika bir cevap var . İçinde, arkadaş yerel şubeleri listelemek için bir komut oluşturur:

git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'

Cevabın bu komutun nasıl türetildiği hakkında büyük bir açıklaması var, bu yüzden gidip bu yazıyı okumanızı öneririm.


Cevabı bağladığınız için teşekkür ederiz. Listenin yerel şubelerine bir algo gerekli YAPMAYIN bir uzaktan izlemek. Bu işi yapan tek kişi.
JuroOravec

2

@ Gertvdijk'in cevabını tamamlamak için - Birisine hızlı yardımcı olması için birkaç ekran görüntüsü ekliyorum.

Git bash kabuğumda

git şubesi

parametresiz komut tüm yerel şubelerimi gösterir. Şu anda kullanıma alınan geçerli dal , gerçekten sezgisel bir yıldız işareti (*) öneki ile birlikte farklı renkte (yeşil) gösterilir .

resim açıklamasını buraya girin

Kullanarak uzak dalları da dahil olmak üzere tüm dalları görmeye çalıştığınızda

git şubesi -a

komutunun ardından henüz teslim edilmeyen uzak dallar kırmızı renkte gösterilir:

resim açıklamasını buraya girin


1
Binlerce kelime kopyalanamaz mı?
Tony Adams

2
@TonyAdams Bir şey eksiksem üzgünüm ama resimlerde görüntülediğim komutların her ikisi de yazıdaki gri arka planda (kod biçimlendirme) belirtildi. Daha da okunabilir hale getirmek için yayının biçimlendirmesini geliştirdim. Dönüşünüz için minnettarız.
RBT
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.