tl;dr
関わっているプロジェクト(Ruby on Rails)で、bundle install
を実行したところ、Gemfile.lockに以下のような差分が出てきてコミットできない状況に陥ったので、解決策をメモ。
- remote: https://github.com/hogehoge/hoge.git
+ remote: git://github.com/hogehoge/hoge.git
参考
以下のブログを参考にさせてもらいました。
bundler 1.13.0でGemfileに:github
ショートハンドを使用するとwarningが出る
概要
Gemfileに以下のような記載がある場合、
(github:
をショートハンドと呼ぶんだそうです)
gem 'hoge', github: 'hogehoge/hoge'
bundle install
を実行すると、Gemfile.lockにはこんな感じに記載される。
remote: git://github.com/hogehoge/hoge.git
プロトコルがhttps
ではなくgit
に置き換わってしまうことで差分が発生するので、コミットに含められない事態に。
(他の人がどうやってhttps
で運用してるのか知らなかった)
解決方法
gitの設定をちょっとだけ直してあげます。
$ bundle config github.https true
上記コマンドを実行してあげれば、ショートハンドを使った場合も、https
でアクセスしてくれるようになるので、Gemfile.lock
も変な差分は出ないようになります。
おまけ
参考サイトの方にも書かれていますが、githubショートハンドを使った状態でbundle install
を実行すると、以下のような警告が出ます。
The git source `git://github.com/hogehoge/hoge.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
「gitプロトコルは暗号化されないので、セキュアじゃないよ。https使ったほうがいいんじゃね?」ってことです。