.git-completion.bash menghasilkan kesalahan pada macOS Sierra 10.12.6


40

Saya telah mengikuti proses git-completionsesuai dengan deskripsi yang disediakan di https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-e-x-e0beac0388a :

Langkah pertama adalah menjalankan perintah ini di jendela terminal Anda, ini pada dasarnya mengambil skrip 'git-completion.bash' dan meletakkannya di direktori home Anda.

curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

Sekarang tambahkan baris ini ke '~ / .bash_profile' Anda. Ini akan memungkinkan eksekusi skrip git autocomplete jika ada

if [ -f ~/.git-completion.bash ]; then
  . ~/.git-completion.bash
fi

Anda sekarang dapat me-restart semua jendela terminal Anda atau hanya me-refresh jendela terminal tempat Anda ingin menggunakan skrip ini. Untuk menyegarkan lakukan:

source ~/.bash_profile

Berikut ini adalah kesalahan yang saya dapatkan saat menekan tabtombol setelah mengetik git:

unknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
  [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
  [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
  [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
  <command> [<args>]

Apa versi git yang Anda gunakan dan versi apa yang diminta bash_completion?
user151019

git version 2.17.1
Rishi Kulshreshtha

Saya mendapatkan hal yang sama di Mac dan Ubuntu juga. git versi 2.4.7 dan 2.17.
wisbucky

Jawaban:


55

Saya mengalami masalah yang sama persis. Setelah beberapa penggalian, saya akhirnya menemukan apa akar masalahnya.

Mereka membuat beberapa perubahan besar pada git-completion.bashskrip yang membutuhkan fitur baru di git v2.18 --list-cmds,. Masalahnya adalah bahwa tidak ada manajer paket yang memperbarui ke git v2.18.

Sebagian besar instruksi di luar sana mengatakan untuk mengunduh raw.githubusercontent.com/git/git/ master/contrib/completion/git-completion.bash. Tapi itu belum tentu pilihan terbaik karena kadang-kadang Anda akan mengunduh yang lebih baru git-completion.bashdaripada versi git Anda.

Jadi solusinya adalah mengunduh git-completion.bashversi yang cocok dengan versi git Anda. Kemudian sumber itu lagi. Pada kasus ini:

https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash

Perhatikan bahwa itu v2.17.1bukan referensi master. Kemudian, ketika Anda menginstal git v2.18, maka Anda dapat beralih kembali ke master, atau v2.18menandai.


2
Terima kasih banyak!! Saya mencari solusi yang sama, karena saya ingat git-completion.bashitu bekerja sebelumnya.
Rishi Kulshreshtha

2
Fan-bloody-tastic
bhu Boue vidya

Ini menyelesaikan masalah pelacakan versi - stackoverflow.com/a/18898614/1874627
saurabheights

3

Meningkatkan git ke versi terbaru adalah solusi paling sederhana. https://git-scm.com/download/mac

Setelah itu pastikan Anda mengikuti langkah-langkahnya

  1. curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

  2. Tambahkan perintah kecil ini ke dalam .bash_profilefile if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi


2

Jangan membangunnya dari sumber; alih-alih instal dari MacPorts .

Untuk menginstal git dengan penyelesaian otomatis, berikan perintah berikut:

 $ sudo port install git +bash_completion

tutup dan buka kembali Terminal Anda dan penyelesaian git akan berhasil


Saya sudah mencoba ini tetapi tidak menyelesaikan masalah. Itu masih sama.
Rishi Kulshreshtha

Keluarkan perintah ini: sudo find / -type -name "git-completion.bash"dan poskan hasilnya ke pertanyaan Anda.
Allan

1

Anda harus memverifikasi versi git Anda dan memastikannya diperbarui setidaknya 1,8.

Saya memiliki versi yang lebih lama 1.7.11 tetapi tidak berhasil dan mendapatkan kesalahan yang sama dengan yang Anda miliki.


git version 2.17.1
Rishi Kulshreshtha

0

Jika Anda menggunakan Homebrew, Anda mungkin mau

  1. perbarui git:

    brew upgrade git

  2. sumber git-completion.bash yang terinstal di ~/.bash_profile:

    . /usr/local/etc/bash_completion.d/git-completion.bash

Ini memastikan versi skrip git dan penyelesaian yang diinstal cocok.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.