Я просмотрел все в этой теме , чтобы попытаться заставить его работать и адаптировать то, что сказал kpsfoo , но для ОС Windows 10.
Шагибудет:
1) Скопировать файл git-creation.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
(при наборе гм плюс строка из названия вашей ветви и нажатии TAB , он будет автоматически завершен, и после запуска команды слияние будет учитывать правило - no-ff )