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