繁体   English   中英

如何将自动完成功能添加到git别名?

[英]How do I add autocomplete to git aliases?

我已经使用git-autocomplete.bash文件设置了git autocomplete,该文件适用于标准命令和简单别名( co = checkout ),但是我在.git-config文件中定义了一个较长的别名,我希望在该文件上自动完成分支名称。我找不到如何做到这一点。

我在运行git 2.10.2.windows.1的Windows Server 2012 R2上

我的别名如下所示:

mstage = "!git checkout stage && git pull && git reset --hard && git merge $1 --no-commit"

其中$1是分支机构的名称-我希望它可以自动完成

这是Windows操作系统的两个选项:

msysgit

  1. 下载git-flow-completion.bash并将其放在主目录中( ~/在msysgit shell中)
  2. 使用以下行将.bashrc文件添加到您的主目录中(或将此行添加到现有.bashrc文件中):

    源〜/ git-flow-completion.bash

西格温

  1. 下载并将git-flow-completion.bash放入

    %CYGWIN_INSTALLATION_DIR%\\etc\\bash_completion.d

  2. 将其重命名为git-flow

    您可以如下自动完成: git flow init等。

如果您在Windows上使用bash,则@Rohit Poudels答案有效。 如果使用的是PowerShell,当前启用此自动完成功能的唯一方法是在安装后手动更改posh-git。

我在posh-git中更改了GitTabExpansion.ps1文件,类似于repo中概述的内容

更具体地说,我在功能TabExpansion的第一行中添加了$line = $line -replace '^git mstage ', 'git checkout ' ,这实际上将把我的别名视为与git checkout等效,然后Tab扩展将表现为预期

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM