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 .'