Saya telah mengikuti http://blog.bitfluent.com/post/27983389/git-utilities-you-cant-live-without untuk menambahkan git-completion.bash
ke saya/opt/local/etc/bash_completion.d/git-completion
dan saya memasukkan PS1='\h:\W$(__git_ps1 "(%s)") \u\$ '
.bashrc_profile saya
Tapi sekarang saya mendapatkan -bash: __git_ps1: command not found
semua yang saya lakukan ini cd
.
Bisakah Anda memberi tahu saya apa yang saya lewatkan?
Jawaban:
Saya menginstal git menggunakan MacPorts pada instalasi Snow Leopard baru saya. Setelah MacPorts diinstal dari gambar .dmg, ini akan menjadi perintah di Terminal.app:
Jika Anda juga ingin dukungan untuk menarik dari repositori dan dokumen SVN, gunakan ini sebagai ganti dari baris kedua:
Kemudian tambahkan berikut ini ke ~ / .profile atau ~ / .bash_profile Anda:
atau untuk MacPorts sejak versi 2.1.2 di Mountain Lion:
atau untuk MacPorts dengan versi git yang lebih baru:
Catatan: bash 4.1 atau lebih tinggi diperlukan oleh bash_completion.sh. Jika penyelesaian tidak berhasil cobalah
echo $BASH_VERSION
untuk melihat apakah itu masalahnya. Jika demikian, masukkan bash MacPorts dengan mengetikbash
dan coba git selesai lagi.sumber
if [ -f /opt/local/share/git-core/git-prompt.sh ]; then . /opt/local/share/git-core/git-prompt.sh fi
/opt/local/etc/profile.d/bash_completion.sh
memerlukan$BASH_VERSION
4.1 atau lebih baik, saya harus melakukan hal berikut pada Mac OS X 10.8.3 dengan MacPorts 2.1.3: Ganti shell login Mac OS X dari default/bin/bash
(3.2.48 (1) -release) ke MacPorts/opt/local/bin/bash
(4.2 .42 (2) -release) seperti dijelaskan di sini: stackoverflow.com/a/791244/287984. Pada dasarnyaif [ `grep /opt/local/bin/bash /etc/shells` ]; then echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash; else echo /opt/local/bin/bash | sudo tee -a /etc/shells; chsh -s /opt/local/bin/bash; fi
/bin/bash
di Terminal.app dengan/opt/local/bin/bash
dari macports + semua.bash_profile
perubahan yang disarankan di sini.Jika Anda menginstal git menggunakan homebrew, Anda mungkin akan sedikit menyesuaikan saran MacPorts dan menambahkannya ke
.bash_profile
dan.bashrc
Cara terbaik untuk memeriksa apakah Anda telah menginstal git dengan benar menggunakan ist homebrew untuk dieksekusi
dan periksa output untuk direktori instal penyelesaian git bash
Versi terbaru dari Git (1.7.12) juga membutuhkan yang berikut untuk mengaktifkan prompt.
sumber
__git_ps1
, lihat superuser.com/a/477749/90231 jawaban dalam tumpukan ini.Yang perlu Anda lakukan adalah menempatkan
git-completion.bash
file dibin
direktori home pengguna Anda dan menempatkan yang berikut di dalam Anda.profile
atau.bash_profile
file:Apa yang dilakukan adalah memastikan bahwa nampan lokal Anda ada di PATH dan
source
perintah membuat semuanya berjalan. Maka tentu saja perubahan PS1 menempatkan cabang saat ini diperiksa di prompt.Jadi, tidak ada MacPort yang diinstal untuk menginstal versi GIT "penyelesaian" (terutama yang menjengkelkan jika Anda sudah menginstalnya).
sumber
$PATH
. Saya memutuskan untuk memasukkan milik saya/usr/local/bin/
sehingga saya tidak perlu memodifikasi yang sudah ada$PATH
.Sementara jawaban saat ini benar untuk MacPorts lama, ada masalah baru dengan MacPorts terbaru menghasilkan kesalahan yang sama.
Paket penyelesaian-bash saat ini (2.0 r1) membutuhkan setidaknya bash 4.1 untuk berfungsi dengan baik. Seperti biasa OS X Terminal menggunakannya
/bin/bash
hanya mendapat 3.x. Anda harus mengubah pengaturan terminal untuk digunakan/opt/local/bin/bash -l
seperti yang dijelaskan dalam dokumentasi MacPorts di sini: http://trac.macports.org/wiki/howto/bash-completionsumber
Anda perlu sumber fungsi penyelesaian perintah. Tambahkan ke .bashrc_profile Anda sebelum PS1:
sumber
Mengganggu ini telah rusak lagi. Kali ini dengan orang-orang git dengan versi 1.7.12-1. Untuk memungkinkan orang memiliki fungsionalitas prompt saja tanpa fungsionalitas penyelesaian (yang dapat memperlambat segalanya), mereka refactored fungsionalitas prompt dari bash_completion / git dan ke dalam file sendiri git-prompt.sh.
Jadi menambahkan bash_completion seperti yang dijelaskan oleh @Lara hanya akan membuat Anda selesai (tab memukul melengkapi tag / nama cabang).
Untuk mendapatkan
__git_ps1
sehingga Anda dapat menggunakannya di prompt PS1 Anda, Anda juga perlu menambahkan berikut ini ke profil ~ /.. /opt/local/share/doc/git-core/contrib/completion/git-prompt.sh
Beberapa latar belakang ada di sini - https://bbs.archlinux.org/viewtopic.php?pid=1163632#p1163632
sumber
Atau dengan Homebrew
sumber
brew install bash-completion git-extras
(lari bukan garis bawah).Menemukan solusi untuk pertanyaan serupa :
The git-osx-installer datang dengan
git-completion.bash
dan menginstal ke/usr/local/git/contrib/completion/
. Sumber saja file itu dari Anda.bash_profile
untuk mendapatkannya__git_ps1
.sumber
Untuk Mountain Lion dan Mac-Ports saya perlu menggunakan baris berikut di .bash_profile untuk mendapatkan __git_ps1 dan pelengkap agar berjalan normal:
sumber
Saya menggunakan minuman, jadi
bash_completion
skrip master yang menjalankan semua yang ada dibash_completion.d
tampaknya tidak disediakan. Solusi yang mengusulkan hanya menjalankan satu skrip untuk menambahkan penyelesaian git tidak dapat diperpanjang, karena paket yang berbeda akan menambahkan skrip penyelesaian yang berbeda, dan Anda mungkin ingin menjalankan semuanya. Karena itu saya menambahkan ini (diadaptasi dari Arch Linux) ke akhir/etc/bashrc
:sumber
Setidaknya dengan Xcode 6, Anda sudah memilikinya
git-completion.bash
. Itu ada di dalam bundel aplikasi Xcode.Cukup tambahkan ini ke .bashrc Anda:
sumber
git br<TAB>
Selain posting Adam K. Johnson
Anda juga dapat menempatkan yang berikut ...
... di / etc / profile Anda, jika Anda mau.
Dengan cara itu semua pengguna pada sistem akan mendapat manfaat dari setiap skrip penyelesaian bash yang dipasang di direktori "/opt/local/etc/bash_completion.d/".
sumber
Sementara jawaban di atas oleh grundprinzip dari 2011 masih berfungsi dengan baik, saya ingin menambahkan jawaban yang lebih baru sekarang bahwa sekarang ada paket bash-completion paket Homebrew ( formula , repo ) yang membuat ini lebih mudah. (Ini termasuk penyelesaian untuk git serta alat umum lainnya.)
Hari ini macOS dikirimkan dengan Bash 3, tetapi Anda bisa
brew install bash
mendapatkan Bash 4. Jika Anda menjalankan Bash 4, instal cabang 2.x yang lebih baru dari penyelesaian bash.Bash 4
Lari:
Tambahkan ke
~/.bash_profile
:Bash 3
Jika Anda ingin tetap menggunakan stock bash 3.x di macOS, ikuti petunjuk ini sebagai gantinya.
Lari:
Tambahkan ke
~/.bash_profile
:Referensi: http://davidalger.com/development/bash-completion-on-os-x-with-brew/
sumber
Saya pikir Anda mungkin lupa sumber file di login
.bashrc
Anda, Anda dapat menambahkan sesuatu seperti:Menggunakan
.
diikuti oleh spasi menjalankan file dalam konteks saat ini.sumber