QA@IT

gitでclone後にリモートリポジトリを切り替えたい

16858 PV

GitHubでプロジェクトをフォークして、これを手元のPCにcloneするとき、うっかりreadしかできないhttpsのリポジトリをcloneしてしまいました。git pushしたときにクレデンシャルを求められて、うっかりに気付きました。

こういう状態です。

$ git remote -v
origin  https://github.com/knsmr/sprk2012-cfp (fetch)
origin  https://github.com/knsmr/sprk2012-cfp (push)

これを、

$ git remote -v
origin  git@github.com:knsmr/sprk2012-cfp.git (fetch)
origin  git@github.com:knsmr/sprk2012-cfp.git (push)

に変えるのは、どうすればよいでしょうか? .git/config を直接編集して変更したのですが、コマンドラインツールでできそうな気がしつつ。

回答

git remote set-url <name> <newurl> でリモートリポジトリのURLを変更できます。
今回は、以下のコマンドで期待する変更ができると思います。

$ git remote set-url origin git@github.com:knsmr/sprk2012-cfp.git
編集 履歴 (2)
  • ずばり! ありがとうございます。 -

git remote rmで削除後、git remote addで新しいリポジトリに変更できます。

$ git remote -v
origin  https://takkanm@github.com/takkanm/sprk2012-cfp.git (fetch)
origin  https://takkanm@github.com/takkanm/sprk2012-cfp.git (push)
$ git remote rm origin
$ git remote -v
$ git remote add origin git@github.com:takkanm/sprk2012-cfp.git
$ git remote -v                                                
origin  git@github.com:takkanm/sprk2012-cfp.git (fetch)
origin  git@github.com:takkanm/sprk2012-cfp.git (push)
編集 履歴 (0)
  • そうか、remoteって何にもなくてもいいんですね。当たり前ですね。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。