在家目录下面同时clone两个repo,TEST1 和 TEST2
在TEST1 repo下面可以正常git add git commit 然后git push
但是在TEST2 repo下面git push 就会报错如下,
remote: ERROR: The following addresses are currently registered:
remote: ERROR: NULL
remote: ERROR:
remote: ERROR: To register an email address, please visit:
报错的意思是本地的注册邮箱和gerrit注册邮箱不匹配,但是本地gitconfig的文件是一样的,同时下载的TEST1 和 TEST2 里面有关git的配置也肯定一样,真奇怪。
原因:
因为之前我下载TEST1 repo以后,执行了下面这个命令,
cd TEST1
git config --global user.email jieng.du@163.com
这个命令应该会记录在系统内存中,即使你删除了TEST1 目录也没有用,另外这个命令和目录还有关系,你在TEST1 中执行这个命令不会影响到TEST2 目录。所以TEST2 一直可以push,但是TEST1 即使你删除重新下载依然不能用。
解决办法:
重新下载TEST1
cd TEST1
git config --global user.email NULL
改成和gerrit上匹配的邮箱即可。
总结:
git config --global user.email 这个命令不仅仅会识别目录,而且还会在系统内存中记忆。删除目录以后效果依然存在。