Saya mencoba mencari perintah khusus Git untuk ini, tetapi saya tidak dapat menemukannya. Adakah yang lebih pendek atau lebih cepat dari yang berikut?
git branch | awk '/\*/ { print $2; }'
git
branch
git-branch
Saunders Ollie
sumber
sumber
Jawaban:
Ini harus bekerja dengan Git 1.6.3 atau lebih baru.
sumber
HEAD
, tidak diharapkanmaster
Di Git 1.8.1 Anda dapat menggunakan perintah git symbolic-ref dengan opsi "--short":
sumber
fatal: ref HEAD is not a symbolic ref
saat menjalankan ini sebagai bagian dari buildDengan Git 2.22 (Q2 2019), Anda akan memiliki pendekatan yang lebih sederhana:
git branch --show-current
.Lihat komit 0ecb1fc (25 Okt 2018) oleh Daniels Umanovskis (
umanovskis
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 3710f60 , 07 Mar 2019)sumber
Anda mungkin tertarik dengan output dari
Secara khusus, tergantung pada kebutuhan dan tata letak yang mungkin ingin Anda lakukan
atau
dan sekali lagi ada
.git/HEAD
file yang mungkin juga menarik bagi Anda.sumber
git rev-parse --symbolic-full-name
menjadigit symbolic-ref
.basename
ataucut
; gunakanBR=${BR#refs/heads/}
(di mana BR adalah nama variabel tempat Anda menyimpan outputgit symbolic-ref HEAD
).git symbolic-ref --short HEAD
jugaDari apa yang bisa saya katakan, tidak ada cara untuk menunjukkan secara asli hanya cabang saat ini di Git, jadi saya telah menggunakan:
sumber
grep '*'
secara nominal merupakan kesalahan sintaksis. Anda mungkin ingingit branch | sed -n 's/^\* //p'
tetap. Atau sebenarnya, apa yang diposting OP di tempat pertama, yang jumlahnya sama.grep '*'
secara nominal kesalahan sintaksis?'*'
ekspresi reguler dan karenanya tidak valid. Anda mungkin ingin menggunakan'[*]'
(yaitu, karakter*
alih-alih operator "nol atau lebih banyak kali").grep '\*'
git branch | grep "*" | cut -d' ' -f2
Saya kira ini harus cepat dan dapat digunakan dengan API Python:
sumber
saya menggunakan
Itu datang dengan Git dan memberikan prompt dengan nama cabang dan penyelesaian argumen.
sumber
$ source /etc//bash_completion.d/git-prompt
File dapat diberi nama berbeda pada sistem yang berbeda. (Catatan:source
kata kunci sama dengan.
(dot) di bash.)Ini tidak lebih pendek, tetapi juga berhubungan dengan cabang terpisah:
sumber
Untuk kelengkapan,
echo $(__git_ps1)
setidaknya di Linux, harus memberi Anda nama cabang saat ini yang dikelilingi oleh tanda kurung.Ini mungkin berguna adalah beberapa skenario karena ini bukan perintah Git (sementara tergantung pada Git), terutama untuk mengatur Bash command prompt Anda untuk menampilkan cabang saat ini .
Sebagai contoh:
sumber
Seseorang mungkin menganggap ini ( ) bermanfaat. Cabang saat ini ditunjukkan dengan tanda *.
git show-branch
--current
sumber