Git无法识别别名
我的Git无法识别别名,git,bash,alias,Git,Bash,Alias,我的.gitconfig文件如下: [user] name = myname email = asdf@xyz.com [alias] co = commit -am 当我在Git Bash中时,我输入: git co "Macro changes" 我收到以下错误消息: git: 'co' is not a git command. 为什么无法识别别名 编辑:我正在运行Windows7。.gitconfig文件位于C:\Users\[myuserID]\.gitc
.gitconfig
文件如下:
[user]
name = myname
email = asdf@xyz.com
[alias]
co = commit -am
当我在Git Bash中时,我输入:
git co "Macro changes"
我收到以下错误消息:
git: 'co' is not a git command.
为什么无法识别别名
编辑:我正在运行Windows7。.gitconfig
文件位于C:\Users\[myuserID]\.gitconfig
奇怪的是,我刚刚创建了另一个别名:
git config --global alias.st status
然后我跑了
git st
这起作用了。但是当我打开C:\Users\[myuserID]\.gitconfig
时,新的别名没有列在那里。那么,全局配置文件可能在其他地方
在C:\ProgramFiles(x86)\Git\etc\profile
中,有HOME
的定义:
# Set up USER's home directory
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$HOMEDRIVE$HOMEPATH"
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$USERPROFILE"
fi
fi
Windows命令提示符告诉我
%HOMEDRIVE%%HOMEPATH
是p:\
,果然,新别名st=status
在.gitconfig
文件中,但不是co=commit-am
,这很奇怪,因为我昨天创建co
别名时,我成功地调用了它。windows上的Bash几乎暗示您正在使用cygwin,对吗
如果是这样,那么cygwin版本的git希望全局.gitconfig文件放在cygwin用户的主目录中,例如c:\cygwin\home\username\.gitconfig
或安装cygwin的任何位置(运行echo$home/.gitconfig
,以获得准确的值)
编辑:随着git安装路径C:\Program Files(x86)\git
的更新,它显然不是cygwin git,但正如您所了解的,它还使用环境变量HOME作为global.gitconfig的目标存储,尽管其值不同
关于我昨天创建协同别名的时间,我能够成功地调用它,是不是您将该别名添加到了存储库中的.gitconfig文件中?只需在git bash中检查
$HOME
的值
如果它指的是C:\Users\[myuserID]
,则会识别您的别名
另外,请确保您使用的是最新的bash():解压缩到您想要的任何位置,并将C:\path\to\PortableGit-2.6.2-64位添加到您的路径中
然后调用C:\path\to\PortableGit-2.6.2-64位\git bash.exe
,就可以开始了。尝试在p:\中编辑.gitconfig并重新启动git。在命令行上创建别名时,该别名将在该会话中被记住。命令行环境不会更新.gitconfig文件。@WalterA,编辑P:\.gitconfig
允许我在后续git会话中运行该别名。我觉得奇怪的是,命令行昨天更新了C:\
版本的.gitconfig
,但今天它更新了P:\
版本。您能检查(计算机图标/选择属性/高级)环境变量吗?HOMEDRIVE和HOMEPATH是在用户变量中还是在系统变量中设置的?您是否以相同的方式启动了两次命令行窗口(鼠标右键单击此处/开始运行cmd)?@WalterA,它们不是在用户或系统中设置的;在所有情况下,我都是使用右键单击->Git Bash启动命令行窗口的。我能看到的唯一解释是,当当前驱动器是P:today和C:today时,您在资源管理器中右键单击。在接下来的几天里,在创建命令行窗口后检查%HOMEDRIVE%的值;事实上,我的C:\Users\[myuserID]\.bash\u历史记录(包含昨天的所有bash命令)包括git config--global alias.co'commit-am'
。我昨天工作的repos中的config
文件都没有别名,它只在C:\Users\[myuserID]\.gitconfig
中。