2016-07-28 5 views
0

多くの(異なった場所にある)ローカルgitリポジトリの特定のリモートURLを効率的に変更する方法はありますか?git reposのすべてのリモートアドレスを変更するには?

ユースケース1
私はGithubの上で私のユーザー名を変更しました。

ユースケース2
I /私のリモートのgitホスティングサーバーのURLを変更したい変更。

警告
- レポは一貫して(私はちょうどoriginを変更してハンマーすることはできません)リモートに同じ名前を使用しないでください。

+0

**警告:**変更したいリモートURLを確実に特定できますか?この場合、 'git remote -vv'を使ってリモート名を取得することができます。 – AnimiVulpis

+1

はい、できます。私はsed/awk/git remote -vを使ってURLを検索し、 'git remote set-url $ 1 $ thechange'を実行することができましたが、プログラム的に私のグローバル私がそれを助けることができるならば、リモートURLを調整してください。 – irbanana

+0

これは非常にユニックスな方法(小さなプログラムをたくさん連ねる)であり、別の方法では見られません。このアプローチを使用したくない場合は、私はあなたを助けることができないと思います。 – 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"

関連する問題