例如,在一台新的ubuntu机器上,我刚刚运行了sudo apt-get git,在输入例如git check[tab]时没有完成。
我在http://git-scm.com/docs上没有找到任何东西,但IIRC完成是包含在这些天的git包中,我只需要在我的bashrc中正确的条目。
例如,在一台新的ubuntu机器上,我刚刚运行了sudo apt-get git,在输入例如git check[tab]时没有完成。
我在http://git-scm.com/docs上没有找到任何东西,但IIRC完成是包含在这些天的git包中,我只需要在我的bashrc中正确的条目。
当前回答
参见https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
您只需要获取完成脚本的源代码
其他回答
Mac M1
对于那些使用Mac M1环境的用户,我可以通过自制软件进行安装:
酿造安装bash-completion
然后添加到我的~/。Bash_profile或~/。Bashrc(不管你用什么):
[[ -r "/opt/homebrew/Cellar/bash-completion/1.3_3/etc/profile.d/bash_completion.sh" ]] && . "/opt/homebrew/Cellar/bash-completion/1.3_3/etc/profile.d/bash_completion.sh"
您可能需要更新版本号(1.3_3)。你只需要在那个目录中查找即可。我很想知道有没有更好的办法。
窗户
我最终在Windows 10命令行(cmd)上的工作原理:
安装叮当声 git-autocomplete副本。lua文件到C:\Users\<username>\AppData\local\clink目录 重新启动Windows
只需在~/.bashrc中这样做:
source /usr/share/bash-completion/completions/git
其他答案告诉你安装bash-completion,你不需要这样做,但如果你这样做,那么就不需要直接源完成。你只能做其中一个,不能两个都做。
一个更通用的解决方案是查询bash-completion项目推荐的系统位置:
source "$(pkg-config --variable=completionsdir bash-completion)"/git
在Linux上
在大多数发行版中,git完成脚本安装在/etc/bash_completion中。D /(或/usr/share/bash-completion/completion /git)安装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
在Mac
您可以使用Homebrew或MacPorts安装git完成。
家酿
if $BASH_VERSION > 4: brew install bash-completion@2(更新版本) 请特别注意您使用的bash版本,因为MacOS默认附带3.2.57(1)-release。
添加到.bash_profile:
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
对于旧版本的bash: brew安装bash-completion
添加到.bash_profile:
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
MacPorts
Sudo端口安装git +bash_completion
然后把这个添加到你的.bash_profile中:
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
更多信息在本指南:安装Bash git完成
注意,在所有情况下,您都需要创建一个新的shell(打开一个新的终端选项卡/窗口),以便更改生效。
Arch Linux
/usr/share/git/completion/git-completion来源。在其中一个Bash启动文件中。
例如:
# ~/.bashrc
source /usr/share/git/completion/git-completion.bash
你可以在/usr/share/bash-completion/completions/git等其他位置找到该脚本,但这些脚本对我不起作用。