Railsチュートリアルを最後まで。第1章 bitbucketからブランチ

こんにちは、のまち(@bokunomad)です。

Railsチュートリアル1.4.3のbitbucketの登録からです。このあたりはサクッと進めると思ってたのですがSSH接続関係で詰まってしまって小一時間かかってしまいました。

スポンサーリンク

1.4.3 Bitbucket

BitbucketはGithubと同じくgitリポジトリホスティングサービスだが微妙に異なる点がある。

  • Bitbucket = 共同作業者が一定数以上から有料。リポジトリの公開非公開は問わない
  • Github = リポジトリが一般公開なら無料。非公開にするときは有料

初学者〜初心者レベルであれば共同作業者もいないだろうし、公開非公開も特に意味はないと思うのでどちらを選んでもよいと思う。

安全面を考えるならリポジトリ非公開でも無料で使えるBitbucketを使うべし。

SSH認証でPermission denied (publickey)に手こずる

git pushしたあとに以下のエラーが出てきた。

対処したこと

まずはSSH秘密鍵をconfigファイルにセットする。IdentityFileに作成している秘密鍵ファイル名を入れる。対になる公開鍵データはBitbucket上の「bitbucket settings」→「SSH鍵」→「鍵を追加」より入力する。

公開鍵は「.pub」で秘密鍵には「.pub」がつかないので注意。

ここでひとまずgit pushを試してみましたが変わらずPermission deniedが出ました。

そこで検索してみると、どうやらssh-agent登録も必要だという情報を見つけたため登録してみます。

Bad owner or permissionエラー

続いてBad owner or permissionエラーについてです。

これは.ssh/configのアクセス権限が適切についていなかったため起きたエラーです。

chmodでアクセス権限を変えてからもう一度git pushを試します。

WARNING UNPROTECTED PRIVATE KEY FILEが出る

次はなんだか大層な感じのエラーが出てきました。パーミッションが644と広く許可しすぎなのでセキュリティ的に良くないよという感じのエラーです。

該当のファイルのアクセス権限を変更して再びgit pushするとようやくできました。ここまで約1時間半。長かった〜。

1.4.4 ブランチ

ブランチを使うことでマスターリポジトリをいじることなく機能追加であったりバグ修正をすることができる。

新規作成した「modify-README」ブランチに切り替え。git branchで「*」が付いているのが現在のブランチ。その後READMEファイルに追記。

git commitで-mオプションでコメントを残す。

masterブランチに切り替えてからマージ(変更)する。必要であればgit branch -dでブランチを削除します。

最後にpushしてbitbucketに反映されていることを確認して終了です。

hello

まとめ

Bitbucket関係はすぐに終わると思っていましたが相変わらず色々と詰まってしまいました。

エラーが出たらググる。エラーが出たらとにかくググるを繰り返して対処していくしかないですね。

次はHerokuです。以前Techacademyで使ったことがあるので早く進められるはずです!

 

この記事が気に入ったら
いいね ! しよう

@bokunomadを