2016-07-28 42 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"

相關問題