Misal pada mesin ubuntu baru, saya baru saja menjalankan sudo apt-get git
, dan tidak ada penyelesaian saat mengetik mis git check[tab]
.
Saya tidak menemukan apa pun di http://git-scm.com/docs , tetapi penyelesaian IIRC sudah termasuk dalam paket git hari ini dan saya hanya perlu entri yang benar di bashrc saya.
(cd ~ && exec cat .bashrc | grep completion)
.Jawaban:
Di Linux
pada kebanyakan distribusi, skrip penyelesaian git diinstal ke
/etc/bash_completion.d/
(atau/usr/share/bash-completion/completions/git
) saat Anda menginstal git, tidak perlu membuka github. Anda hanya perlu menggunakannya - tambahkan baris ini ke.bashrc
:Di beberapa versi Ubuntu, git autocomplete mungkin rusak secara default, menginstal ulang dengan menjalankan perintah ini akan memperbaikinya:
Di Mac
Anda dapat menginstal penyelesaian git menggunakan Homebrew atau MacPorts.
Homebrew
if
$BASH_VERSION
> 4:brew install bash-completion@2
(versi terbaru) Berhati-hatilah dengan versi bash mana yang Anda miliki sebagai default MacOS dikirimkan dengan rilis 3.2.57 (1).tambahkan ke
.bash_profile
:Untuk versi bash yang lebih lama:
brew install bash-completion
tambahkan ke
.bash_profile
:MacPorts
sudo port install git +bash_completion
lalu tambahkan ini ke
.bash_profile
:info lebih lanjut dalam panduan ini: Instal penyelesaian Bash git
Perhatikan bahwa dalam semua kasus Anda perlu membuat shell baru (buka tab / jendela terminal baru) agar perubahan diterapkan.
sumber
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
digunakan untuk dukungan cepat git, bukan untuk penyelesaian.brew uninstall bash-completion
lalubrew install git
jika Anda telah menginstal git melalui beberapa metode lain sebelumnya, maka langkah-langkah di atas akan berhasil.saya memiliki masalah yang sama, ikuti langkah-langkah di bawah ini:
kemudian tambahkan baris berikut ke Anda
.bash_profile
(biasanya di bawah folder rumah Anda)sumber: http://code-worrier.com/blog/autocomplete-git/
sumber
export https_proxy=proxy_ip:proxy_port
Saya tidak terlalu mengerti mengapa tidak mendapatkan pengaturan dari sistem.Sebagian besar instruksi yang Anda lihat akan meminta Anda untuk mengunduh
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
dan sumber itu di skrip startup bash Anda seperti
.bashrc
.Tetapi ada masalah dengan itu, karena ini mereferensikan
master
cabang, yang merupakan versi terbaru darigit-completion.bash
. Masalahnya adalah terkadang itu akan rusak karena tidak kompatibel dengan versi git yang Anda instal.Nyatanya, saat ini hal itu akan rusak karena
master
cabanggit-completion.bash
memiliki fitur baru yang membutuhkan git v2.18, yang belum pernah diperbarui oleh pengelola paket dan pemasang. Anda akan mendapatkan kesalahanunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
Jadi solusi teraman adalah dengan merujuk versi / tag yang cocok dengan git yang telah Anda instal. Sebagai contoh:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Perhatikan bahwa itu memiliki
v2.17.
di URL, bukanmaster
. Dan kemudian, tentu saja, pastikan untuk menggunakannya di skrip startup bash.sumber
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
Untuk amannya, saya membedakannya dengan versi 2.17.1 di github dan cocok.Ubuntu 14.10
Pasang
git-core
danbash-completion
Untuk penggunaan sesi saat ini
Agar selalu aktif untuk semua sesi
sumber
Lihat https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Anda hanya perlu mencari skrip penyelesaian
sumber
Lakukan saja ini di
~/.bashrc
:Jawaban lain meminta Anda untuk menginstal
bash-completion
, Anda tidak perlu melakukan itu, tetapi jika Anda melakukannya, maka tidak perlu mencari penyelesaian secara langsung. Anda melakukan satu atau yang lain, tidak keduanya.Solusi yang lebih umum adalah menanyakan lokasi sistem seperti yang direkomendasikan oleh proyek penyelesaian bash:
sumber
di ubuntu saya ada file yang diinstal di sini:
Anda dapat mengikuti tautan ke dalam
/usr/lib/git-core
folder tersebut. Anda dapat menemukan di sana instruksi, bagaimana mengatur PS1 atau menggunakan__git_ps1
sumber
Mungkin bermanfaat bagi seseorang: -
Setelah mengunduh .git-complete.bash dari tautan berikut,
dan mencoba menggunakan fungsi __git_ps1, saya mendapatkan kesalahan karena--
Tampaknya kita perlu mengunduh skrip secara terpisah dari master untuk membuat perintah ini berfungsi, karena __git_ps1 didefinisikan di git-prompt.sh. Mirip dengan mengunduh .git-complete.bash, dapatkan git-prompt.sh:
dan kemudian tambahkan yang berikut ini di .bash_profile Anda
source ~ / .bash.git akan mengeksekusi file yang diunduh dan
export PS1='\W$(__git_ps1 "[%s]")
Perintah akan menambahkan nama cabang checkout setelah direktori kerja saat ini (jika itu adalah repositori git).Jadi akan terlihat seperti: -
dir_Name[branch_name]
di mana dir_Name adalah nama direktori kerja dan nama_cabang akan menjadi nama cabang yang sedang Anda kerjakan.Harap diperhatikan - __git_ps1 peka huruf besar / kecil.
sumber
Arch Linux
Sumber
/usr/share/git/completion/git-completion.bash
di salah satu file startup bash.Sebagai contoh:
Anda mungkin dapat menemukan skrip di lokasi lain seperti
/usr/share/bash-completion/completions/git
tetapi skrip ini tidak berfungsi untuk saya.sumber
Ubuntu
Ada jawaban yang bagus di sini . Bekerja untuk saya di Ubuntu 16.04
Windows
Git Bash adalah alat untuk memungkinkan penyelesaian otomatis. Tidak yakin apakah ini adalah bagian dari distribusi standar sehingga Anda dapat menemukan tautan ini juga berguna. Ngomong-ngomong, Git Bash memungkinkan untuk menggunakan perintah shell Linux untuk bekerja di windows, yang merupakan hal yang hebat bagi orang-orang, yang memiliki pengalaman di lingkungan GNU / Linux.
sumber
Di Github dalam proyek Git, Mereka menyediakan file bash untuk melengkapi perintah git secara otomatis.
Anda harus mengunduhnya ke direktori home dan Anda harus memaksa bash untuk menjalankannya. Ini hanyalah dua langkah dan dijelaskan dengan sempurna (langkah demi langkah) di posting blog berikut.
blog code-worrier: pelengkapan otomatis-git /
Saya telah mengujinya di mac, ini seharusnya berfungsi di sistem lain juga. Anda dapat menerapkan pendekatan yang sama ke sistem operasi lain.
sumber