0
有没有一种方法可以有效地更改许多(位于不同位置)的本地git存储库的给定远程URL?如何更改我的所有git repos的远程地址?
使用案例1
我改变了Github上我的用户名。
使用案例2
我改变/想改变我的远程git的托管服务器的URL。
注意事项
- 回购不要一直使用同一个名称为远程(所以我不能只是通过改变origin
锤)。
有没有一种方法可以有效地更改许多(位于不同位置)的本地git存储库的给定远程URL?如何更改我的所有git repos的远程地址?
使用案例1
我改变了Github上我的用户名。
使用案例2
我改变/想改变我的远程git的托管服务器的URL。
注意事项
- 回购不要一直使用同一个名称为远程(所以我不能只是通过改变origin
锤)。
那么,没有听说过/发现任何其他偷偷摸摸的方式来完成这一点,我想我会给一个'unixy'解决一枪。
在给定的父级(或祖父级...)目录中查找匹配路径,然后在找到的每个路径/文件上执行$2
。
find_git_configs() {
find $1 -path "*/.git/config" -exec $2 {} \;
}
然后,在行动......
find_git_configs some/where "sed -i.bak s/:3000//g"
。
关于**警告**:您能否可靠地识别您想要更改的远程网址?在这种情况下,您可以使用'git remote -vv'获取远程名称 – AnimiVulpis
是的,我可以。我可以通过sed/awk/grepping世界的'git remote -v'来搜索url并运行'git remote set-url $ 1 $ thechange',但我宁愿避免以编程方式遍历我的全局目录和调整远程网址,如果我可以帮助它。 – irbanana
这将是一个非常unix的做法(将许多小程序链接在一起),我看不到另一种方式。如果你不想使用这种方法,我想我无法帮助你。 – AnimiVulpis