vscode Git扩展API为仓库远程别名提供支持,

wecizke3  于 4个月前  发布在  Vscode
关注(0)|答案(2)|浏览(50)

从@ashb在microsoft/vscode-pull-request-github#4551的评论中:
我在~/.gitconfig中有以下行:

[url "https://github.com/"]
  insteadOf = "github:"
  pushInsteadOf = "git@github.com:"
[url "git@github.com:"]
  insteadOf = "gh:"
  pushInsteadOf = "github:"
  pushInsteadOf = "git://github.com/"

(效果是我可以执行git clone github:user/publicgit clone gh:user/private)
然而,我认为扩展程序在处理gh:前缀时变得困惑,没有反映我的全局git配置。
例如,在一个私有仓库中:

$ git config remote.origin.url
gh:user/private
$ git remote get-url origin
git@github.com:user/private

$ git remote show origin -n
* remote origin
  Fetch URL: git@github.com:user/private
  Push  URL: git@github.com:user/private

当使用git扩展API获取类似这样设置的仓库的信息时,该仓库的远程没有一个有意义的URL:

我看不到使用git扩展API将此URL解析为有意义的内容的方法。我认为理想情况下,git扩展API应该解析fetch和push URL,而不是使用别名。

1wnzp6jl

1wnzp6jl1#

作为数据点,我今天在VS Code中遇到了这个问题,当时我正在处理一个使用"insteadOf"别名克隆的仓库。为了说明情况,我使用的是url.https://github.<corp>.com/.insteadof=github:,因此我可以使用git clone github:<org>/<repo>在GitHub Enterprise Server(本地部署)示例上进行类似的克隆操作。

iezvtpos

iezvtpos2#

This irrevocably breaks any repo that was cloned with insteadOf. Even after I setting an upstream, vscode-pull-request-github was toast and kept trying to auth against my non-existent corporate repo

相关问题