我刚买了一台新电脑。像往常一样安装了 git 和 gerrit。现在由于某种原因我无法使用我以前拥有的功能克隆我的存储库。我做了一些故障跟踪,发现它不起作用的原因是因为该命令将我的用户名改为大写字母。
例如
该命令不起作用。会回来的
Permission denied (publickey).
git clone ssh://[email protected]:29256/xxx/repo
这样
git clone ssh://[email protected]:29256/xxx/repo
我尝试将我的用户名更改为大写字母,如果我在 Git Bash 中运行
git config --list | grep user.name
,它会以大写字母返回。
但在我的 gerrit 帐户中它始终是小写的。
当我尝试推送我的仓库时,我遇到了同样的问题。我不能肯定地说这是同样的问题,但它尝试执行的代码行也有我的用户名大写字母。
由于是 ssh 连接,MacOS/Linux 下的 ~/.ssh/config 文件可以控制它发送的用户名。
为您要连接的主机添加条目。
host ast-gerrit-ssh.xxxxxx.net
user your_name_but_lowercase
port 29256
然后您可以完全省略您的用户名和端口来结账
git clone ssh://ast-gerrit-ssh.xxxxxx.net/xxx/repo
想要减少打字次数吗? 添加另一个带有速记主机的条目:
host st-gerrit-ssh
hostname ast-gerrit-ssh.xxxxxx.net
user your_name_but_lowercase
port 29256
那么你可以做
git clone ssh://ast-gerrit-ssh/xxx/repo