gpt4 book ai didi

git - 如何让 bash 补全在 Windows 10 bash 中使用别名?

转载 作者:太空狗 更新时间:2023-10-29 14:16:36 30 4
gpt4 key购买 nike

我有一个用

修改的 aliases.sh 文件
alias gc='git checkout'

如果我输入一个长分支名称 gc <branchstring> + TAB ,自动完成不起作用,为了显示完整的分支名称。

最佳答案

我查看了 this thread 中的所有内容尝试使其适用于并定制 kpsfoo 所说的内容,但适用于 Windows 10 操作系统。

步骤是:

1) 从

复制 git-completion.bash文件
<your git install folder>/etc/git-completion.bash

C:\Users\<YourUserName>\git-completion.bash

2) 添加这行代码:

source ~/git-completion.bash到您的aliases.sh 文件

(可以在 <your git install folder>\etc\profile.d 中找到)

3) 添加alias gc='git checkout' &添加__git_complete gco _git_checkout source ~/git-completion.bash 之后的任何位置aliases.sh 文件中的行。

4) 重启你的 git bash 并享受你的别名自动完成!

例子:如果我有分行VeryVeryLongBranchName我现在在 dev分支,并想切换到它,而不是键入 git checkout VeryVeryLongBranchName我只会打字 gc Very +TAB 键 等同于上面的指令。

我的 aliases.sh 文件中所有内容的一个示例(它会被扩展,因为我发现需要其他别名)是:

alias ga="git add"
alias gb='git branch'
alias gba="git branch -a"
alias gc='git checkout'
alias gcb='git checkout -b'
alias gcam='git commit -a -m'
alias gm='git merge --no-ff'
alias gps='git push wpdev dev'
alias gpsm='git push wpdev master'
alias gpl='git pull wpdev dev'
alias gplm='git pull wpdev master'
alias st='git status'
alias l='git log --graph --pretty='\''%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'\'' --abbrev-commit'
alias last='log -1 HEAD'
alias gs='git stash'

# Enable the __git_complete function to autocomplete aliases once you press TAB
source ~/git-completion.bash

__git_complete ga _git_add
__git_complete gc _git_checkout
__git_complete gm _git_merge
__git_complete gb _git_branch
__git_complete gba _git_branch
__git_complete l _git_log

case "$TERM" in
xterm*)
# The following programs are known to require a Win32 Console
# for interactive usage, therefore let's launch them through winpty
# when run inside `mintty`.
for name in node ipython php php5 psql python2.7
do
case "$(type -p "$name".exe 2>/dev/null)" in
''|/usr/bin/*) continue;;
esac
alias $name="winpty $name.exe"
done
;;
esac

-值得注意:alias gm='git merge --no-ff'__git_complete gm _git_merge 搭配得很好(当输入 gm 加上分支名称中的字符串并按 TAB 时,它将自动完成,并且在您运行该命令后, merge 将考虑 --no-ff 规则)

关于git - 如何让 bash 补全在 Windows 10 bash 中使用别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53366574/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com