从@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/public
或git 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,而不是使用别名。
2条答案
按热度按时间1wnzp6jl1#
作为数据点,我今天在VS Code中遇到了这个问题,当时我正在处理一个使用"insteadOf"别名克隆的仓库。为了说明情况,我使用的是
url.https://github.<corp>.com/.insteadof=github:
,因此我可以使用git clone github:<org>/<repo>
在GitHub Enterprise Server(本地部署)示例上进行类似的克隆操作。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