2

我正在使用 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

cygwin自带的git是不是要另外设置?

4

2 回答 2

1

想通了,那个 git 将尝试写入它在别名新命令时加载的 .gitconfig 文件,所以我运行了 .gitconfig 文件git config --global alias.testalias random_git_command。然后从我的主目录

 grepc -R testalias ./

我能够确定它正在使用~/.gitconfig. 所以解决方案是ln -s [path_to_desired_.gitconfig] .gitconfig在我的主目录中创建一个符号链接。

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

于 2013-01-07T21:59:34.147 回答
0

我通过在 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 .'
于 2014-07-03T09:46:03.010 回答