如何为git远程仓库定义备用的远程URL?

10
我使用git-annex来管理我的文件。我的一些远程访问有2或3种方法可用,例如ssh和nfs,但是nfs只能在我的本地网络上访问。因此,git-annex选择最快的方法进行文件同步或获取(如果可用,则使用nfs;否则使用ssh,并使用分数进行选择)。目前,我为每个存储库和每种访问方法定义一个远程,但这并不是真正符合git-annex工作方式的做法,因为它不符合numcopies选项,该选项会检查存储在附件中的文件是否具有足够的副本(通过我的当前方法,许多远程实际上是硬盘上的相同文件夹)。
我的问题适用于git和git-annex,因为远程是在git中添加的,而不是在git-annex中:我想知道是否可以为给定的远程定义备用url。
我尝试使用git remote set-url --add命令,但它并没有按照我的期望工作。实际上,如果nfs url无法访问,则git会挂起并等待。
你有什么想法吗?

有没有声望足够高的人可以在那篇文章中添加 git-annex 标签呢?谢谢! - user556433
1
这是一个新标签,因此必须由声望超过1500的用户创建。任何人都可以将现有标签添加到问题中,但如果他们的声望不够高,则会在应用之前排队进行审核。 - RichVel
2个回答

6

我从git-annex论坛得到了答案,我曾经问过类似的问题。如果有多个远程指向相同的存储库,使用不同的访问方法也没关系。实际上,每个存储库在由git-annex初始化时都会获得一个UUID。然后,在添加和同步时将该UUID与远程相关联。因此,git-annex将具有相同UUID的不同远程视为单个存储库。


1
而且,似乎没有办法为远程定义替代的URL,以防主要URL不可访问。至少,不能直接使用标准的git软件来完成此操作。 - user556433

5
你可以将远程添加为
git remote add new-origin https://example.com/proj.git

修改现有远程的值
git remote set-url new-origin https://example-new.com/proj.git

2
抱歉,但我不需要更改或添加原始内容。我想为同一代码库定义一个主要URL和一个次要URL,以防第一个URL无法访问。这不是正确的做法,对吗? - user556433
@KingCrunch:我不理解你的编辑和投票:这篇文章不是问题的答案,对吧?那个方法定义了一个备用URL,但如果第一个URL无法访问,Git并不会尝试第二个URL:它只等待第一个URL。或者有超时选项我不知道吗? - user556433
1
@Speredenn 我只是格式化了命令。你可以查看编辑历史记录。 - KingCrunch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接