如何configurationgit bash命令行补全?

例如,在一台新的Ubuntu机器上,我刚刚运行了sudo apt-get git ,而且在input例如git check[tab]时没有完成。

我没有在http://git-scm.com/docs上find任何东西,但是这些日子里,IIRC完成包含在git包中,我只需要在我的bashrc中input正确的条目。

在Linux上

在大多数发行版中,当你安装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 autocomplete,通过运行此命令重新安装应该修复它:

 sudo apt-get install git-core bash-completion 

在Mac上

您可以使用Homebrew或MacPorts安装git完成。

家酿

brew install bash-completion

然后将其添加到您的.bash_profile

 if [ -f `brew --prefix`/etc/bash_completion ]; then . `brew --prefix`/etc/bash_completion fi 

MacPorts的

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完成

请注意,在所有情况下,您需要创build一个新的shell(打开一个新的terminal选项卡/窗口)以使更改生效。

我有同样的问题,按照以下步骤:

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

然后.bash_profile添加到您的.bash_profile (通常在您的主文件夹下)

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

来源: http : //code-worrier.com/blog/autocomplete-git/

Ubuntu 14.10

安装git-corebash-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 

在我的Ubuntu上有一个文件安装在这里:

 source /etc/bash_completion.d/git-prompt 

你可以按照链接进入/usr/lib/git-core文件夹。 你可以find一条说明,如何设置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 

显然我们需要从master下载脚本来使这个命令起作用,因为在git-prompt.sh中定义了__git_ps1。 和下载.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 

源〜/ .bash.git将执行下载的文件和

export PS1='\W$(__git_ps1 "[%s]")命令将在当前工作目录(如果它是一个git存储库)之后附加检出分支名称。

所以它会看起来像:

dir_Name[branch_name]其中dir_Name是工作目录名称,branch_name将是您当前正在使用的分支的名称。

请注意 – __git_ps1区分大小写。

Ubuntu的

这里有一个美丽的答案。 在Ubuntu 16.04上为我工作

视窗

Git Bash是允许自动完成的工具。 不知道这是否是标准分发的一部分,所以你可以find这个链接也很有用。 顺便说一句,Git Bash允许使用Linux shell命令在windows上工作,这对于那些在GNU / Linux环境中有经验的人来说是一件好事。

在Git项目的Github上,他们提供了一个bash文件来自动完成git命令。

你应该下载到主目录,你应该强制bash运行它。 这只是两个步骤,并在以下博客文章中完美地解释(一步一步)。

code-worrier博客:autocomplete-git /

我已经在Mac上进行了testing,它也应该在其他系统上工作。 您可以将相同的方法应用于其他操作系统。