TFS Git命令行带有特殊字符

时间:2018-07-09 12:35:33

标签: git tfs special-characters

我想用我的密码和用户名启动git clone命令,但是我的密码包含特殊字符(例如:pass/word@123):

git clone https://username:pass/word@123@mysite.com/myrepo

该命令显然不起作用,因为它错误地解释了特殊字符。我尝试使用percent encoding和反斜杠,但仍然无法正常工作。 Git说,当我使用password%40123而不是password@123时,身份验证失败。我该怎么办?

注意:我不是使用github,而是Microsoft TFS。

注2:当git询问时,我不能先输入url,然后再输入密码(因为我尝试从PHP / Symfony运行命令(但是直接从命令行使用它时,百分比编码仍然无法使用)) / p>

注3:我当然不能更改密码

谢谢。

编辑:

经过测试,它正在GitHub存储库(具有百分比编码)上工作,但在TFS上却没有。因此问题出在TFS。

1 个答案:

答案 0 :(得分:1)

就像您说的那样,它将@之后的字符视为远程站点URL。

看看这个线程:How to provide username and password when run "git clone git@remote.git"?

从来宾操作系统自动生成git clone时,使用 ssh键代替密码更为流行。

如果要使用带有特殊字符的密码(例如感叹号),则需要使用百分比编码,通常称为URL编码。

!   #   $    &   '   (   )   *   +   ,   /   :   ;   =   ?   @   [   ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

更多详细信息,请在此处参考类似的问题:Escape @ character in git proxy password