例えば。新鮮なubuntuマシン上で、Sudo apt-get git
を実行したところです。 git check[tab]
。
http://git-scm.com/docs には何も見つかりませんでしたが、最近はIIRCの完了がgitパッケージに含まれており、bashrcに正しいエントリが必要です。
ほとんどのディストリビューションでは、gitをインストールすると、git完了スクリプトが/etc/bash_completion.d/
(または/usr/share/bash-completion/completions/git
)にインストールされます。githubに移動する必要はありません。使用する必要があります-この行を.bashrc
に追加してください:
source /etc/bash_completion.d/git
# or
source /usr/share/bash-completion/completions/git
Ubuntuの一部のバージョンでは、gitのオートコンプリートがデフォルトで破損する場合があります。このコマンドを実行して再インストールすると、修正されるはずです。
Sudo apt-get install git-core bash-completion
HomebrewまたはMacPortsを使用してgit completionをインストールできます。
if $BASH_VERSION
> 4:brew install bash-completion@2
(更新されたバージョン)MacOSのデフォルトが3.2.57(1)-releaseに付属しているため、使用しているbashのバージョンに特に注意してください。
.bash_profile
に追加:
if [ -f /usr/local/share/bash-completion/bash_completion ]; then
. /usr/local/share/bash-completion/bash_completion
fi
Bashの古いバージョンの場合:brew install bash-completion
.bash_profile
に追加:
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
Sudo port install git +bash_completion
次に、これを.bash_profile
に追加します。
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
このガイドの詳細: Bash git completionのインストール
すべての場合において、変更を有効にするには、新しいシェルを作成する(新しいターミナルタブ/ウィンドウを開く)必要があることに注意してください。
私は同じ問題を抱えていて、以下の手順に従いました:
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
次に、次の行を.bash_profile
(通常はホームフォルダーの下)に追加します
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
fi
表示される指示のほとんどは、ダウンロードするように指示します
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
そして、.bashrc
のようなbash起動スクリプトでソースします。
ただし、git-completion.bash
の最新バージョンであるmaster
ブランチを参照しているため、これには問題があります。問題は、インストールしたgitのバージョンと互換性がないために壊れることがあることです。
実際、master
ブランチのgit-completion.bash
にはgit v2.18を必要とする新しい機能があり、パッケージマネージャーとインストーラーのいずれもまだ更新していないため、現時点では壊れます。エラーが発生しますunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
最も安全な解決策は、インストールしたgitに一致するバージョン/タグを参照することです。例:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
URLにはmaster
の代わりにv2.17.
があることに注意してください。そして、もちろん、bash起動スクリプトでソースを作成するようにしてください。
git-core
およびbash-completion
をインストールしますSudo apt-get install -y git-core bash-completion
現在のセッションの使用
source /usr/share/bash-completion/completions/git
すべてのセッションで常にオンにする
echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash を参照してください
完了スクリプトを入手するだけです
私のubuntuには、次のファイルがインストールされています:
source /etc/bash_completion.d/git-Prompt
/usr/lib/git-core
フォルダーへのリンクをたどることができます。そこに指示、PS1のセットアップ方法、または__git_ps1
の使用方法があります。
誰かに役立つかもしれません:-
次のリンクから.git-completion.bashをダウンロードした後、
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
__git_ps1関数を使用しようとすると、エラーが発生しました-
-bash: __git_ps1: command not found
__git_ps1はgit-Prompt.shで定義されているため、このコマンドを機能させるには、マスターとは別にスクリプトをダウンロードする必要があるようです。 .git-completion.bashのダウンロードと同様に、git-Prompt.shを取得します。
curl -L https://raw.github.com/git/git/master/contrib/completion/git-Prompt.sh > ~/.bash_git
そして、あなたの.bash_profileに以下を追加します
source ~/.bash_git
if [ -f ~/.git-completion.bash ]; then
. ~/.git-completion.bash
export PS1='\W$(__git_ps1 "[%s]")>'
fi
source〜/ .bash.gitはダウンロードしたファイルを実行し、
export PS1='\W$(__git_ps1 "[%s]")
コマンドは、現在の作業ディレクトリの後にチェックアウトブランチ名を追加します(gitリポジトリの場合)。
したがって、次のようになります。
dir_Name[branch_name]
ここで、dir_Nameは作業ディレクトリ名で、branch_nameは現在作業中のブランチの名前です。
注意してください-__git_ps1は大文字と小文字を区別します。
~/.bashrc
でこれを行うだけです:
source /usr/share/bash-completion/completions/git
他の回答では、bash-completion
をインストールするように指示されていますが、インストールする必要はありませんが、インストールする場合は、補完を直接取得する必要はありません。両方ではなく、どちらか一方を行います。
より一般的な解決策は、bash-completionプロジェクトが推奨するシステムの場所を照会することです。
source "$(pkg-config --variable=completionsdir bash-completion)"/git