Reputation: 726
I have setup git autocomplete using the git-autocomplete.bash
file which works for standard commands and simple aliases (co = checkout
), but I have a longer alias defined in my .git-config
file that I would like to autocomplete branch names on and I cannot find how to do this.
I am on Windows Server 2012 R2 running git 2.10.2.windows.1
My alias looks like this:
mstage = "!git checkout stage && git pull && git reset --hard && git merge $1 --no-commit"
where $1
is a branch name - I'd love this to autocomplete
Upvotes: 1
Views: 942
Reputation: 726
@Rohit Poudels answer works if you are using bash on Windows. If you are using PowerShell, currently the only way to enable this autocomplete is to change posh-git manually after installing.
I changed the GitTabExpansion.ps1 file in posh-git, similarly to what is outlined on the repo.
More specifically, I added $line = $line -replace '^git mstage ', 'git checkout '
as the first line in the function TabExpansion
which will in effect will treat my alias as equivalent to git checkout
and tab expansion will then behave as expected
Upvotes: 2
Reputation: 1889
here we have two options for windows operating system:
msysgit
git-flow-completion.bash
in home directory (~/
in
msysgit shell)Add a .bashrc
file to your home directory with the following line
(or add this line to existing .bashrc
file):
source ~/git-flow-completion.bash
Cygwin
Download and place git-flow-completion.bash
in
%CYGWIN_INSTALLATION_DIR%\etc\bash_completion.d
Rename it to git-flow
you can autocomplete as following: git flow init
etc.
Upvotes: 2