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

更改所有本地存储库的Git URL,git,github,bitbucket,logstash-configuration,bitbucket-server,Git,Github,Bitbucket,Logstash Configuration,Bitbucket Server,最近,我们将stashgit服务器迁移为使用HTTPS而不是HTTP。现在我们必须更新每个存储库中的URL,以便将新URL与HTTPS一起使用。我们有没有办法不去每个存储库的Git配置和更改URL就可以做到这一点?问题是我们有将近60个本地存储库需要更新 任何一次性更新URL的解决方案都是非常受欢迎的。您可以使用sed,但要小心;) 这将执行一个内嵌字符串替换,用新字符串替换旧字符串。您只需将路径传递给所有git配置文件。每个开发人员都可以全局配置url git config --global

最近,我们将stashgit服务器迁移为使用HTTPS而不是HTTP。现在我们必须更新每个存储库中的URL,以便将新URL与HTTPS一起使用。我们有没有办法不去每个存储库的Git配置和更改URL就可以做到这一点?问题是我们有将近60个本地存储库需要更新


任何一次性更新URL的解决方案都是非常受欢迎的。

您可以使用
sed
,但要小心;)


这将执行一个内嵌字符串替换,用新字符串替换旧字符串。您只需将路径传递给所有git配置文件。

每个开发人员都可以全局配置
url

git config --global url."https://your-domain".insteadOf http://your-domain
http://your-domain
动态重写,以
https://your-domain

任何以该值开头的URL都将被重写为以
开头。如果某个站点为大量存储库提供服务,并使用多种访问方法为其提供服务,而某些用户需要使用不同的访问方法,则此功能允许用户指定任何等效URL,并让Git自动将URL重写为特定用户的最佳备选URL,即使是对于网站上从未见过的存储库。当多个insteadOf字符串与给定URL匹配时,将使用最长的匹配


我们在windows环境中。塞德在那里工作吗?同样,回购协议分布在不同的文件夹中。我真的不知道如何使用本机Windows命令执行此操作,抱歉:(有什么原因不能在反向代理上处理此问题吗?只需使用发送http-->https的301重定向。Git可以并将遵循http重定向,这是我见过的隐藏/Bitbucket服务器用户实现的解决此问题的最常见的解决方案之一。如果您没有使用反向代理,而是使用Tomcat Web服务器您仍然可以直接实现http-->https重定向—Atlassian提供了3/4.x版本的Stash/Bitbucket文档,以及基于Spring引导的5.x版本Bitbucket服务器的更新说明。
git config --global url."https://your-domain".insteadOf http://your-domain