19
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

git submoduleでhttpsとsshを使い分ける(仮)

Last updated at Posted at 2015-11-04

git submoduleを使っていて、私は普段からずっとgitにsshしかつながないのでこうしてました。

git submodule add git@example.com:example/example.git

で、しばらくして、他の人に「git clone --recursiveできないんだけど?」と言われて、そんなバカなと思って見てみると、その人はhttpsでつないでました。
で、鍵認証が通らないので"Permission denied (publickey)"で死んでました。

さてどうしたものかな、と。

  • https(ユーザー名&パスワード方式)に切り替えるのは安全性の観点から避けたい(少なくとも自分は)。
  • でも、他人にsshでつなぐことを強要するのも難しい(githubなんかはhttpsを推奨しているみたいですし)

ということで、なんとかプロトコルだけ切り替える方法ないかなと思って探してたんですが、そういえばと思ってboostを見てみたら、なんとsubmoduleのURLに相対URL使えたんですね!
なので、以下のようにすれば解決しました。

git submodule add ../example.git

しかし問題はこの方法だと、相対URLで指定できないような場所(サーバーごと違うとか)のsubmoduleは、どうしようもないってことですね。
そういう場合の使い分け方法は・・・見つけたら追記します(orご存じの方いたら教えて下さい)。

19
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?