Substitua o URL remoto para vários repositórios git

O aplicativo cliente Github de github.com é muito bom – se ele apenas não insistisse em usar a URL do repositório HTTPS somente leitura como a URL de origem.

Mudá-lo por meio do aplicativo ou via git set remote é doloroso se mais de um punhado de repositórios tiver que ser alterado.

Esta é uma maneira rápida de obter o efeito:

sed -E -e "s/https://(github.com)/(.+)/git@1:2/g" -i .old `find `pwd`/*/.git -name config -print`

Para peixes ou conchas semelhantes:

sed -E -e "s/https://(github.com)/(.+)/git@1:2/g" -i .old (find (pwd)/*/.git -name config -print)

Salva uma cópia de backup config.old em .git, omite “.old” após -i para evitar a criação de um backup.

Para um único repo, funciona da mesma forma:

sed -E -e "s/https://(github.com)/(.+)/git@1:2/g" -i .old .git/config