如何使用git show从Azure DevOps远程仓库获取单个文件并指定URL
问题:如何用git show从Azure DevOps远程仓库获取文件?
我在本地执行git show ci:path1/path2/file.txt完全符合文档给出的git show branch-name:path/to/your/file.txt格式,运行正常。
文档提到可以通过以下格式从其他远程仓库获取文件:
git show <repository-url>/<branch-name>:path/to/your/file.txt
但我找不到适用于Azure DevOps仓库的正确URL格式,尝试了多个命令均报错:
执行命令:
git show https://myOrg@dev.azure.com/myOrg/myProject/_git/myRepo/ci:path1/path2/file.txt报错信息:
fatal: invalid object name 'https'
去掉
https://后执行:git show //myOrg@dev.azure.com/myOrg/myProject/_git/myRepo/ci:path1/path2/file.txt报错信息:
fatal: invalid object name '//myOrg@dev.azure.com/myOrg/myProject/_git/myRepo/ci'.
尝试简化URL格式:
git show //dev.azure.com/myOrg/myProject/_git/myRepo/ci:path1/path2/file.txt报错信息:
fatal: invalid object name '//dev.azure.com/myOrg/myProject/_git/myRepo/ci'.
这个格式看起来接近正确,但仍无法正常运行。
解决方法
有两种可行方式实现从Azure DevOps远程仓库获取文件:
方式1:添加远程仓库别名(推荐)
先将Azure DevOps仓库添加为本地Git的远程仓库:
git remote add azdo https://myOrg@dev.azure.com/myOrg/myProject/_git/myRepo
添加完成后,即可使用远程别名+分支名的格式获取文件,用法和本地分支一致:
git show azdo/ci:path1/path2/file.txt
方式2:直接使用仓库URL(无需添加远程)
使用完整的仓库克隆URL(通常以.git结尾),将URL与分支名用#分隔,并用单引号包裹避免shell解析特殊字符:
git show 'https://myOrg@dev.azure.com/myOrg/myProject/_git/myRepo.git#ci:path1/path2/file.txt'
内容的提问来源于stack exchange,提问作者Frank Monroe
相关产品推荐
相关产品推荐

