关于git:Visual Studio无法使用两个原始URL

Visual studio can't work with two origin urls

我正试图保持两个存储库的同步,这两个存储库位于两个不同的站点(GitHub和BitBucket),遵循一个指南,我在配置中添加了一个新的源URL,现在我的.git/config如下所示:

1
2
3
4
[remote"origin"]
url = https://[email protected]/rrev/sampclient.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://github.com/rrev/SAMPClient.git

现在GitHub和BitBucket具有相同的提交和源代码,但是当我尝试将提交推送到两个存储库时,Visual Studio只将提交发送到GitHub,而将BitBucket留在后面。

看起来Visual Studio不能很好地处理两个URL,因为当我在[remote"all"]中移动url = https://github.com/rrev/SAMPClient.git进行测试时,Visual Studio会正确地发送commit to bitback,当我放回GitHub URL时,它检测到存储库位于本地存储库后面。

这是Visual Studio的一个限制?因为当我使用命令行推送更改(使用git push)时,两个存储库会正确同步。


如果你需要两个远程,你需要两个远程。我完全错了,git push将支持多个URL。I can't tell if this is a consider or accountable feature.according to libgit2 this is a consider feature of git for exactly your situation.

我猜Visual Studio没有使用git命令行,而是使用libgit2(已确认)等库。libgit2是应用程序使用git的一个更快、更可靠的选项(尤其是在Windows上),而不是通过包装命令行。libgit2没有与git命令行的直接类比,尤其涉及使用远程设备。libgit2远程程序只能有一个URL,它被烘焙到它们的数据结构和API中。

我的建议是要么从命令行推送,要么两个有两个远程,记住推送到两个远程,要么决定其中一个是镜像,并设置一个自动进程来同步,要么(imo best)决定不需要在冗余的开发服务上维护相同的存储库。


这是Visual Studio的一个限制。你怎么看使用git push是否一切正常。

-安东·伊戈