2016-07-28 39 views
0

有没有一种方法可以有效地更改许多(位于不同位置)的本地git存储库的给定远程URL?如何更改我的所有git repos的远程地址?

使用案例1
我改变了Github上我的用户名。

使用案例2
我改变/想改变我的远程git的托管服务器的URL。

注意事项
- 回购不要一直使用同一个名称为远程(所以我不能只是通过改变origin锤)。

+0

关于**警告**:您能否可靠地识别您想要更改的远程网址?在这种情况下,您可以使用'git remote -vv'获取远程名称 – AnimiVulpis

+1

是的,我可以。我可以通过sed/awk/grepping世界的'git remote -v'来搜索url并运行'git remote set-url $ 1 $ thechange',但我宁愿避免以编程方式遍历我的全局目录和调整远程网址,如果我可以帮助它。 – irbanana

+0

这将是一个非常unix的做法(将许多小程序链接在一起),我看不到另一种方式。如果你不想使用这种方法,我想我无法帮助你。 – AnimiVulpis

回答

0

那么,没有听说过/发现任何其他偷偷摸摸的方式来完成这一点,我想我会给一个'unixy'解决一枪。

在给定的父级(或祖父级...)目录中查找匹配路径,然后在找到的每个路径/文件上执行$2

find_git_configs() { 
    find $1 -path "*/.git/config" -exec $2 {} \; 
} 

然后,在行动......

find_git_configs some/where "sed -i.bak s/:3000//g"

相关问题