Bagaimana saya bisa memiliki shell untuk git seperti di Windows?

9

Ketika saya menggunakan Windows, shell (bahkan shell Windows standar) menunjukkan informasi dasar tentang repositori git ketika Anda berada di repositori git. Hal-hal seperti cabang aktif dan mungkin beberapa kode warna.

Apakah ada cara untuk memiliki yang sama di Ubuntu?

Nicola Peluchetti
sumber
git versi apa yang sudah Anda instal di windows? Perintah apa yang Anda jalankan untuk mendapatkan informasi ini? Sudahkah Anda mencoba perintah-perintah itu dengan git-corepaket diinstal?
jackweirdy
Pada git saya memiliki versi terbaru, tetapi hanya jika saya menggunakan baris perintah dan saya di dalam repositori git, saya melihat nama cabang aktif
Nicola Peluchetti

Jawaban:

4

Shell Windows Git, yang benar-benar hanya bash, menetapkan prompt $PS1ke string panjang yang menyertakan $(__git_ps1).

__git_ps1 didefinisikan sebagai fungsi, panjangnya hampir 100 baris, yang mencetak nama cabang saat ini dalam tanda kurung.

/etc/profile(yang C:\Program Files (x86)\Git\etc\profile, setidaknya pada sistem saya)) memanggil /etc/git-completion.bash, yang mendefinisikan __git_ps1fungsi, set $PS1, mendefinisikan beberapa penyelesaian spesifik git, antara lain.

Penggunaan git-completion.basholeh Git Bash tampaknya didasarkan pada ini .

Keith Thompson
sumber
1
Jadi apa yang harus saya lakukan untuk mengaktifkan ini di uBuntu? :) Maaf tapi saya baru.
Nicola Peluchetti
Pergi ke direktori Home dan ketik perintah di terminal sebagai "gedit .baschr" dan Anda akan diminta untuk mengedit file .baschr. Tetapi pastikan untuk memiliki salinan asli di direktori yang berbeda untuk keselamatan.
Rahal Kanishka
4

Untuk warna:

git config --global color.ui true
Justin Seiter
sumber
1

Jika Anda menggunakan zsh sebagai shell, Anda mungkin menemukan file konfigurasi saya berguna. Cobalah source prompt/blockyuntuk melihat seperti apa tampilannya di repositori Git.

pconley
sumber
1
  • Bagaimana cara menghentikan bash prompt agar tidak melarikan diri memiliki contoh. Anda dapat menyalinnya dari jawaban dan kemudian menggunakan gedit untuk menempelkannya ke bagian bawah file .bashrc Anda di direktori home Anda (membuat cadangan, pertama, tentu saja).

  • Jika file .bashrc Keith menyebutkan dalam jawabannya adalah bagian dari git, maka ia akan dilisensikan dengan GPL2 sehingga Anda harus bebas melewatinya ke dalam file .bashrc Anda juga. Anda harus mengambil file /etc/git-completion.bash dan menginstalnya di suatu tempat juga, dan minta referensi .bashrc baru Anda.

  • Berikut ini hal lain yang dapat Anda tempel dan coba dari Arturo Fernandez di http://www.bsnux.com/recipes/how-display-you-current-git-branch-prompt.html

 # Menampilkan cabang git di dalam prompt
 function parse_git_branch {
   cabang git --tidak ada warna 2> / dev / null | sed -e '/ ^ [^ *] / d' -e 's / * \ (. * \) / (\ 1) /'
 }

 fungsi proml {
   GREEN lokal = "\ [\ 033 [0; 32m \]"
   WHITE lokal = "\ [\ 033 [0; 37m \]"

 PS1 = "[\ u @ \ h \ w $ GREEN \ $ (parse_git_branch)] $ WHITE \ $"
 PS2 = '>'
 PS4 = '+'
}
proml
John S Gruber
sumber