Cygwin git не собирает псевдонимы

Я использую Cygwin и git (v1.7.9), который поставляется с ним по умолчанию (/ usr / bin / git). У меня также установлен msysgit (v1.7.11.msysgit.0). В моем.bashrc я делаю

export GIT_CONFIG=path_to_.gitconfig

и когда я бегу git config --listЯ получаю содержимое моего .gitconfig (соответствующая выдержка ниже):

 ...
 alias.co=checkout
 alias.br=branch
 alias.ci=commit
 alias.st=status
 alias.logp=log --pretty=format:"%h - %an, %ar : %s"
 alias.logl=log --pretty=oneline
 alias.graph=log --pretty=format:"%h - %an : %s" --graph
 ...

однако, если я бегу git ci -m "this is a test" я получил

 git: 'ci' is not a git command. See 'git --help'.

 Did you mean one of these?
    am
    citool
    commit
    config
    diff
    fsck
    gc
    init
    mv
    rm

Git, который идет с cygwin, должен быть настроен по-другому?

2 ответа

Решение

Я подумал, что git попытается записать в файл.gitconfig, который он загружал, при создании псевдонима новой команды, поэтому я запустил git config --global alias.testalias random_git_command, Тогда из моего домашнего каталога

 grepc -R testalias ./

Я был в состоянии определить, что он использовал ~/.gitconfig, Таким образом, решение было сделать символическую ссылку ln -s [path_to_desired_.gitconfig] .gitconfig в моем домашнем каталоге.

Все еще находя странным, что когда я побежал git config --list Я мог видеть список псевдонимов, но когда я попытался запустить их, git не распознал бы их как действительный псевдоним...

Я решил это, включив псевдонимы git с командой alias в .bash_profile:

alias gch='git checkout'
alias br='git branch'
alias ci='git commit'
alias gs='git status'
alias gcd='git checkout develop'
alias gcm='git checkout master'
alias gph='git push'
alias gpl='git pull'
alias unstage='git reset HEAD --'
alias ga='git add -u .'
Другие вопросы по тегам