macOS Sierra 10.12.6での.git-completion.bash生成エラー


40

https://medium.com/@farooqyousuf/autocomplete-git-commands-and-branch-names-in-terminal-on-mac-os-x-4e0beac0388aでgit-completion提供されている説明に従ってプロセスを実行しました。

最初のステップはターミナルウィンドウでこのコマンドを実行することです。これは基本的に「git-completion.bash」スクリプトを取得してホームディレクトリに配置することです。

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

次に、この行を「〜/ .bash_profile」に追加します。これにより、Gitオートコンプリートスクリプトが存在する場合に実行できます

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

これで、すべてのターミナルウィンドウを再起動するか、このスクリプトを使用するターミナルウィンドウを更新することができます。更新するには、次の操作を行います。

source ~/.bash_profile

以下は、tab入力後にキーを押すと表示されるエラーです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>]

使用しているgitのバージョンとbash_completionが要求するバージョンは何ですか?
user151019

git version 2.17.1
リシKulshreshtha

MacとUbuntuでも同じようになります。gitバージョン2.4.7および2.17。
ウィスバッキー

回答:


55

私はまったく同じ問題に遭遇しました。掘り下げた後、私は最終的に根本的な問題が何であるかを見つけました。

彼らはgit-completion.bashgit v2.18の新機能を必要とするスクリプトにいくつかの大きな変更を加えました--list-cmds。問題は、どのパッケージマネージャーもまだgit v2.18に更新していないことです。

そこにある指示のほとんどは、raw.githubusercontent.com master/git / git / /contrib/completion/git-completion.bash をダウンロードするように指示しています。しかし、それは必ずしも最良のオプションではありません。なぜなら、時々git-completion.bashあなたのバージョンのgitがサポートするよりも新しいものをダウンロードするからです。

そのため、解決策はgit-completion.bash、gitバージョンと一致するバージョンをダウンロードすることです。その後、再びソースします。この場合:

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

v2.17.1代わりに参照していることに注意してくださいmaster。後で、git v2.18をインストールするとmaster、に切り替えることができますv2.18


2
トンありがとう!! git-completion.bash以前に働いていたことを覚えているので、私は同様のソリューションを探していました。
リシKulshreshtha

2
Fan-bloody-tastic
bhu Boue vidya

-これは、バージョン追跡の問題が解決さstackoverflow.com/a/18898614/1874627
saurabheights

3

gitを最新バージョンにアップグレードするのが最も簡単なソリューションです。https://git-scm.com/download/mac

その後、必ず手順に従ってください

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

  2. この小さなコマンドを.bash_profileファイルに追加します if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi


2

ソースからビルドしないでください。代わりにMacPortsからインストールします。

オートコンプリートを使用してgitをインストールするには、次のコマンドを発行します。

 $ sudo port install git +bash_completion

ターミナルを閉じて再度開くと、Git補完が機能するはずです


これを試しましたが、問題は解決しませんでした。まだ同じです。
リシKulshreshtha

次のコマンドを発行 sudo find / -type -name "git-completion.bash"します。結果を質問に投稿します。
アラン

1

gitバージョンを確認し、少なくとも1.8に更新されていることを確認してください。

古いバージョン1.7.11を使用していましたが、機能せず、同じエラーが発生しました。


git version 2.17.1
リシKulshreshtha

0

Homebrewを使用する場合は、次のことができます。

  1. gitのアップグレード:

    brew upgrade git

  2. にインストールされたgit-completion.bashを入手します~/.bash_profile

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

これにより、インストールされているgitと完了スクリプトのバージョンが一致するようになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.