Cygwin git没有提取别名

Cygwin git没有提取别名,git,cygwin,msysgit,Git,Cygwin,Msysgit,我使用的是Cygwin和默认附带的git(v1.7.9)(/usr/bin/git)。我还安装了msysgit(v1.7.11.msysgit.0)。在我的.bashrc中,我知道 export GIT\u CONFIG=path\u to.gitconfig 当我运行git config--list时,我会得到我的.gitconfig的内容(下面的相关摘录): 但是,如果我运行gitci-m“这是一个测试” git: 'ci' is not a git command. See 'git -

我使用的是Cygwin和默认附带的git(v1.7.9)(/usr/bin/git)。我还安装了msysgit(v1.7.11.msysgit.0)。在我的.bashrc中,我知道

export GIT\u CONFIG=path\u to.gitconfig

当我运行
git config--list
时,我会得到我的
.gitconfig
的内容(下面的相关摘录):

但是,如果我运行
gitci-m“这是一个测试”

 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

cygwin附带的git是否必须以不同的方式进行设置?

计算出,git将在为新命令添加别名时尝试写入加载的.gitconfig文件,因此我运行了
git config--global alias.testalias random\u git\u命令。然后从我的主目录

 grepc -R testalias ./
我能够确定它使用的是
~/.gitconfig
。因此,解决方案是在我的主目录中创建一个符号链接
ln-s[path_to_desired_u.gitconfig].gitconfig


仍然觉得奇怪的是,当我运行git config--list时,我可以看到别名列表,但当我尝试运行它们时,git无法将它们识别为有效别名…

我通过在
中使用命令包含git别名来解决这个问题。bash\u配置文件

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

运行
git config--global--list
可能会显示它们。这在~/.gitconfig中查找,而不是在repo的本地。
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 .'