Saya mencoba untuk mengubah promt perintah saya di terminal. Saya terus mendapatkan kesalahan:
-bash: __git_ps1: command not found
Saya sudah mencoba hanya dengan mengetikkan ke terminal seperti: __git_ps1
. Saya juga sudah mencobanya di.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Karena Anda mungkin dapat melihat / memberi tahu, ya, saya telah menyelesaikan pelengkapan otomatis dan bekerja dengan sangat baik!
Saya menemukan pertanyaan ini: " PS1 env variable tidak berfungsi pada mac " yang memberikan kode
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Jadi saya menambahkannya pada .bash_profile
harapan saya bahwa itu akan mengubah sesuatu. Ya, benar. Itu baru saja mengubah output kesalahan.
Inilah .bash_profile
dengan tambahannya:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Dan sekarang inilah output kesalahan yang diubah:
sed: (%s): No such file or directory
Catatan: Saya juga memindahkan alias di bawah sumber tanpa perbedaan. Saya memiliki git versi 1.7.12.1
Ini harus menjadi perubahan sederhana. Bisakah seseorang tolong saya?
Edit 10/13/12
Tidak, saya pasti tidak ingin mendefinisikan __git_ps1 sendiri tetapi hanya mencoba untuk melihat apakah itu akan dikenali dengan melakukannya. Ya, saya sudah .git-completion.bash
menginstal file. Inilah cara saya mendapatkan penyelesaian otomatis di mesin saya.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
Sebuah ls -la
kemudian daftar .git-completion.bash
berkas.
Sunting 10/13/12 - Dipecahkan oleh Mark Longair (di bawah)
Kode berikut ini berfungsi untuk saya .bash_profile
sementara yang lain tidak ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git-completion.bash
mendefinisikan__git_ps1
sebagai fungsi shell. Apakah milikmu Bagaimana Anda tahu penyelesaian berhasil? Apa yang terjadi ketika Anda mengetikkangit h
<TAB>?git <tab>
seperti yang tercantum dalam komit yang dirujuk oleh Mark Longair.Jawaban:
Anda telah menginstal versi
git-completion.bash
darimaster
- di riwayat pengembangan git, ini setelah komit yang membagi__git_ps1
fungsi dari fungsionalitas penyelesaian menjadi file baru (git-prompt.sh
). Komit yang memperkenalkan perubahan ini, yang menjelaskan alasannya, adalah af31a456 .Saya masih menyarankan agar Anda hanya mencari versi
git-completion.bash
(ataugit-prompt.sh
) yang dibundel dengan instalasi git Anda.Namun, jika karena alasan tertentu Anda masih ingin menggunakan fungsi ini dengan menggunakan skrip yang diunduh secara terpisah
master
, Anda harus mengunduh dengangit-prompt.sh
cara yang sama:... dan tambahkan baris berikut ke Anda
~/.bash_profile
:Maka
PS1
variabel Anda yang termasuk__git_ps1 '%s'
harus bekerja dengan baik.sumber
git-prompt.sh
dangit-completion.bash
ditemukan di`brew --prefix git`/etc/bash_completion.d/
.git-core
digantikan olehgit
, lihat pertanyaan iniSetelah memutakhirkan ke OSX 10.9 Mavericks saya harus merujuk file berikut untuk mendapatkan penyelesaian perintah git shell dan git meminta untuk bekerja lagi.
Dari .bash_profile saya atau yang serupa:
sumber
~/.git_prompt.sh
. Solusi lain tidak berhasil.bash: __docker_machine_ps1: command not found
Kamu harus
$ brew install bash bash-completion git
Kemudian sumber "$ (buatan --prefix) / etc / bash_completion" di .bashrc Anda.
sumber
Berikut ini bekerja untuk saya seperti pesona:
Jalankan berikut di Terminal Anda:
Buka / Buat bash_profile:
Tambahkan berikut ke file:
Akhirnya, sumber menggunakan:
Ini akan menyelesaikan masalah
bash: __git_ps1: command not found
.Anda juga akan berubah menjadi "os". Untuk mengubah "os" menjadi sesuatu yang lain, modifikasi string "os" di jalur ekspor PS1.
sumber
Solusi untuk MacOS Sierra dan git versi 2.10.1 <2017-2-06>
Langkah 1: Instal Git
Anda dapat melewati langkah ini jika Anda sudah menginstal git terbaru.
Catatan: jika Anda menginstal dengan
Verifikasi Instalasi:curl [option] https://...
opsi untuk mengunduh, Anda harus memastikan sistem Anda mendukung SSL. Jadi bagi pendatang baru, mengunduh dari peramban dan menginstal langsung dari git installer jauh lebih mudah.which git
git --version
versi saat ini seharusnya 2.10.1.Langkah 2: Tambahkan profil git Anda ke shell Anda
nano ~/.bash_profile
ataunano ~/.bashrc
Tergantung di mana modifikasi Anda.source /usr/local/git/contrib/completion/git-completion.bash
source /usr/local/git/contrib/completion/git-prompt.sh
Catatan: lokasi instalasi git berubah dari opt / direktori ke usr / local / setelah upgrade OSX ke El Capitain, dan inilah sebabnya beberapa jawaban lama di atas tidak berfungsi lagi di MacOS Sierra.
Tambahkan kode berikut ke konfigurasi PS1 Anda:
Opsi 1: tambahkan langsung ke PS1 Anda:
Saya lebih suka pendekatan sederhana ini karena saya sudah tahuexport PS1='\w$(__git_ps1 "(%s)") > '
.git-completion.bash
ada di direktori home saya, dan saya bisa menambahkan format prompt lainnya di depannya. di sini adalah prompt pribadi saya untuk referensi Anda:export PS1='\t H#\! \u:\w$(__git_ps1 "{%s}") -->> '
Opsi 2: Tambahkan skrip pilihan
Simpan dan gunakan profil:
source ~/.bash_profile
atausource ~/.bashrc
sumber
Saya memiliki masalah yang sama ketika meningkatkan ke Yosemite.
Aku hanya harus memodifikasi
~/.bashrc
untuksource /usr/local/etc/bash_completion.d/git-prompt.sh
bukan jalur lama.kemudian sumber ulang Anda
. ~/.bashrc
untuk mendapatkan efek.sumber
Solusi bersih Sierra tinggi dengan warna!
Tidak ada unduhan. Tidak ada minuman Tanpa Xcode
Cukup tambahkan ke ~ / .bashrc atau ~ / .bash_profile Anda
sumber
__git_ps1 untuk bash sekarang ditemukan di git-prompt.sh di /usr/local/etc/bash_completion.d pada minuman saya instal versi git 1.8.1.5
sumber
ini berfungsi di OS 10.8 di .bash_profile
sumber
Untuk macports saya harus menambahkan:
source /opt/local/share/git-core/git-prompt.sh
ke ./profile sayasumber
touch ~/.profile
. Tetapi Anda jelas membutuhkan file di: /opt/local/share/git-core/git-prompt.shJika Anda berharap untuk menggunakan Homebrew untuk meningkatkan Git dan Anda telah membiarkan sistem Anda menjadi ketinggalan zaman secara umum (seperti yang saya lakukan), Anda mungkin perlu membawa Homebrew sendiri yang terbaru (seperti pembaruan per brew) : File pohon yang tidak terlacak berikut ini akan ditimpa oleh gabungan: thanks @ chris-frisina)
Pertama bawa Homebrew sejalan dengan versi saat ini
Kemudian perbarui Git:
Masalah diselesaikan! ;-)
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
Tambahkan file sumber ke .bash_profile
sumber
Saya tahu itu bukan jawaban nyata ...
Saya punya beberapa masalah aneh dengan sumber git-prompt.sh di .bashrc saya jadi saya mulai mencari solusi lain. Yang ini: http://www.jqno.nl/post/2012/04/02/howto-display-the-current-git-branch-in-your-prompt/ tidak menggunakan __git_ps1 dan penulis mengklaim itu berfungsi juga pada Mac (untuk saat ini berfungsi dengan baik di Ubuntu saya dan mudah untuk men-tweak).
Saya harap ini membantu!
sumber
Saya melakukan kursus tentang Udacity untuk git hub dan mengalami masalah yang sama. Ini kode terakhir saya yang membuat berfungsi dengan benar.
Berhasil! https://i.stack.imgur.com/d0lvb.jpg
sumber
Yang ini bekerja untuk saya, dan itu sudah berwarna keluaran git dan indikator di prompt apakah file telah diubah / ditambahkan, langsung dimasukkan ke dalamnya:
Pastikan untuk menggunakan jalur yang benar! Saya menggunakan homebrew untuk menginstal git, gunakan
brew list git
untuk mendapatkan path ke instalasi Anda saat ini.Akan menyenangkan untuk tidak menggunakan jalur kode keras, tetapi tidak tahu cara mendapatkan jalur ke instalasi saat ini.
Info lebih lanjut di sini: http://en.newinstance.it/2010/05/23/git-autocompletion-and-enhanced-bash-prompt/
sumber
Untuk git, ada
/Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-prompt.sh
. Dan tolong lihat/etc/bashrc_Apple_Terminal
juga.Jadi, saya taruh ini di
~/.bash_profile
:sumber
bash: __docker_machine_ps1: command not found
Kata Pengantar: maaf karena tidak mengomentari jawaban jawaban haysclark dan membuat yang baru, hanya tidak cukup perwakilan.
Harap jangan lakukan itu, jika Anda belum menginstal git melalui Xcode atau home-brew, Anda mungkin akan menemukan skrip bash yang mengacu pada haysclarks
/Library/Developer/CommandLineTools/
, dan bukan di/Applications/Xcode.app/Contents/Developer/
, sehingga membuat baris untuk disertakan dalam .bashrc berikut ini:Anda akan membutuhkan baris tersebut jika Anda ingin menggunakan git-prompt juga.
sumber