更改所有本地存储库的Git URL

时间:2018-05-08 00:17:41

标签: git github bitbucket logstash-configuration bitbucket-server

最近,我们将Stash Git服务器迁移到使用HTTPS而不是HTTP。现在我们必须更新每个存储库中的URL以使用HTTPS的新URL。有没有办法,我们可以实现这一点,而无需前往每个存储库' Git配置并更改URL?问题是我们有近60个本地存储库,我们必须更新。

非常感谢任何一次更新网址的解决方案。

2 个答案:

答案 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配置文件的路径。