git - 带有特殊字符的 TFS Git 命令行
问题描述
我想使用我的密码和用户名启动一个 git clone 命令,但我的密码包含特殊字符(例如:)pass/word@123
:
git clone https://username:pass/word@123@mysite.com/myrepo
该命令显然不起作用,因为它确实错误地解释了特殊字符。我尝试使用百分比编码和反斜杠,但它仍然无法正常工作。password%40123
当我使用而不是.git 时,Git 说身份验证失败password@123
。我能做些什么 ?
注意:我使用的不是 github,而是 Microsoft TFS。
注意 2:当 git 询问时,我不能先输入 url 和密码(因为我尝试从 PHP/Symfony 运行命令(但是直接从命令行使用百分比编码仍然不起作用))
注3:当然我不能更改密码
谢谢。
编辑 :
测试后,它在 GitHub 存储库(使用百分比编码)上工作,但不在 TFS 上。所以问题来自TFS。
解决方案
正如您所说,它会将后面@
的字符视为远程站点 url。
看看这个线程:运行“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
推荐阅读
- excel - Excel VBA 中 SAS 加载项引用的 DLL 文件名
- javascript - Maximo Anywhere 从长描述中删除 HTML 标记
- php - woocommerce 有条件地根据数量隐藏运输方式
- r - 将以英寸为单位的高度字符向量转换为厘米?
- c# - 无法连接到网络驱动器(使用凭据)
- r - R 中的 contrib.url(repos, "source") 错误尝试使用 CRAN 而不设置镜像调用:install.packages -> contrib.url 执行停止
- javascript - 标头组件之前的角度路由器插座负载,如何防止?
- php - 循环和列表视图中的 WooCommerce 产品
- amp-html - 使用 AMP 随机化内容的显示顺序
- google-sheets - 谷歌表格 - 一旦达到数量限制,如何在多个单元格中舍入 SUM