最近,我们将Stash Git服务器迁移到使用HTTPS而不是HTTP。现在我们必须更新每个存储库中的URL以使用HTTPS的新URL。有没有办法,我们可以实现这一点,而无需前往每个存储库' Git配置并更改URL?问题是我们有近60个本地存储库,我们必须更新。
非常感谢任何一次更新网址的解决方案。
答案 0 :(得分:5)
每个开发人员都可以全局配置url.<base>.insteadOf
设置:
git config --global url."https://your-domain".insteadOf http://your-domain
以http://your-domain
开头的 This will cause网址要动态重写,以https://your-domain
开头:
任何以此值开头的网址都会被重写,而不是
<base>
。如果某些站点提供大量存储库,并使用多种访问方法为其提供服务,并且某些用户需要使用不同的访问方法,则此功能允许人们指定任何等效的URL并让Git自动将URL重写为特定用户的最佳替代方案,即使对于网站上前所未见的存储库也是如此。当多个insteadOf字符串匹配给定的URL时,使用最长的匹配。
答案 1 :(得分:1)
你可以使用sed -i 's/git.oldserver.com/git.newserver.com/' /path/to/repos/*/.git/config
,但要小心;)
scrollHeight
这将执行内联字符串替换,将旧字符串替换为新字符串。你只需要将它传递给所有git配置文件的路径。