如何在git URL中转义密码的`@`

时间:2017-06-24 07:25:58

标签: git escaping

借口:
我明白了这一点:Escape @ character in git proxy password 但它关于http.proxy param,p%4055url param不起作用。

我的问题:
我使用git版本1.7.1
我的密码存储库是:p@55
我使用gitlab服务器和centos作为客户端 在.git/config文件中,我是这样的:

[remote "origin"]
url = http://user:p@55@domain.com:port/repo.git

但是当我拉它时,给了我这个错误:

error: Couldn't resolve host '55:domain.com' while accessing ...

我知道转义@字符,但是:

我尝试p\@55,给我这个错误:

fatal: bad config file line 8 in .git/config

我尝试p%4055,给我这个错误:

error: The requested URL returned error: 401 while accessing ...

3 个答案:

答案 0 :(得分:3)

我只是将git版本从1.7.1升级到2.11.1,这对我有用:

url = http://user:p%4055@domain.com:port/repo.git

答案 1 :(得分:2)

尝试使用@ - (%40)符号的URL编码值。

您案例中的一个例子:

网址= http://user:p%4055@domain.com:port/repo.git

修改

如果上述方法不起作用,请使用以下方法:

sshpass -p密码git clone ssh://username@onboard.com/srv/git/repo

答案 2 :(得分:1)

您可以使用git credentials helper:

  

Is there a way to skip password typing when using https:// on GitHub?