git初心者なので、ちょっと直してリモートpushしたと思ったらすぐに次のミスが見つかるようなことが少なくない。 そんな時にいちいちuserとpassを入力するのが嫌になってきたので、pushする際のプロトコルを変更する方法を調べ、ついでにシェルスクリプトを作った。

gitのリモートリポジトリのURL変更

remoteのURLを変更するにはgit remote set-urlを、現在のurlを確認するにはgit remote -vをそれぞれ使うらしい。 以下を参考にしました。

コマンド一発で変更

単純にsshとhttpsをスイッチしたいだけだったので以下のようなスクリプトをパスの通った所に配置して使うことにした。

ちなみに本体はここで管理している。

gitリポジトリに移動して

$ gitch
✔ Change origin URL...OK
new remote:
origin  git@github.com:(username)/(repo).git (fetch)
origin  git@github.com:(username)/(repo).git (push)

ちなみにもう一回叩くとhttpsになる。

$ gitch
✔ Change origin URL...OK
new remote:
origin  https://github.com/(username)/(repo).git (fetch)
origin  https://github.com/(username)/(repo).git (push)

これでhttpsでcloneしたリポジトリを、コマンド1つでsshに切り替えてpushできるようになった。

おしまい。