UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

無料で使えるプライペートレポジトリ | BitBucketはGitHubよりオススメできるかも

f:id:mochizuki_p:20170215193322p:plain

GitのホスティングサービスといえばGitHubということになっているそうですが、個人の利用であっても非公開レポジトリを設定するには月額7$の料金を支払う必要があります。

しかし、プライベートで少しのコードを管理するだけで料金を支払うのは気が引けるものです。

そこで紹介したいのが、オーストラリアのIT企業 Atlassian が提供する(正確には買収した) BitBucketというサービスです。

今回はそのBitBucketというサービスの使い方について、利用登録からプライベートレポジトリをローカルからプッシュするところまで、簡単な紹介記事を書くことにします。

1.公式サイトから登録

公式サイトにアクセスします

bitbucket.org

f:id:mochizuki_p:20170215193402p:plain

最初にEメールアドレスを登録します。

f:id:mochizuki_p:20170215193410p:plain

次に氏名とパスワードを登録します。reCAPTCHAをパスして Continueをクリックします。

f:id:mochizuki_p:20170215193416p:plain

正確なEメールアドレスを登録していれば、メールボックスにBitBucketからのメールが届いているはずです。

f:id:mochizuki_p:20170215193423p:plain

認証用リンクを踏んで登録を完了させます。

次にBitBucketで使うユーザー名を登録します。

f:id:mochizuki_p:20170215193433p:plain

そして続行をクリックします。

これでレポジトリの作成が完了しました。

2.レポジトリの作成

「リポジトリ」から画面中央の「リポジトリの作成」をクリック

f:id:mochizuki_p:20170215193500p:plain

そして「新規リポジトリの作成」で

f:id:mochizuki_p:20170215193604p:plain

リポジトリの名前を入力、そして非公開レポジトリにしたいので「アクセスレベル」のチェックボックスをクリックしておきます。

レポジトリタイプはGitで

そして「リポジトリの作成」で完了です。

f:id:mochizuki_p:20170215193629p:plain

3.公開鍵の登録

次にローカルレポジトリからプッシュするための公開鍵を生成して、BitBucketに登録します。

ローカルで公開鍵を生成

最初に任意のディレクトリを作成します。

$ ssh-keygen -t rsa -C root@example.com
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mochizuki/.ssh/id_rsa):

公開鍵ペアを生成するディレクトリとファイル名を選択肢しろというメッセージなので /home/mochizuki/.ssh/**以下にあなたの好きなファイル名を指定します。

ここでは /home/mochizuki/.ssh/bitbucket_rsaとします

Enter file in which to save the key (/home/mochizuki/.ssh/id_rsa): /home/mochizuki/.ssh/bitbucket_rsa

パスフレーズは入力しなくても構わないので全てエンターをクリックします

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

公開鍵が生成されます

Your identification has been saved in /Users/mochizuki/.ssh/bitbucket_rsa
Your public key has been saved in /Users/mochizuki/.ssh/bitbucket_rsa.pub
The key fingerprint is:
b8:39:78:2f:ac:e1:16:f1:af:f8:75:4a:6d:c9:60:a7
The key's randomart image is:
+--[ RSA 2048]----+
|          o .    |
|         . * .   |
|      .   E =    |
|       + . .     |
|    . = S .      |
|     * * . .     |
|      X . o .    |
|     . + o .     |
|      ..o        |
+-----------------+

SSHでエラーが発生しないように権限を変更

sudo chmod 700 /User/mochizuki/.ssh/bitbucket_rsa

BitBusketにアクセスするときにはこの秘密鍵を利用するように設定ファイルを追加します

sudo vi /User/mochizuki/.ssh/config

内容は

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/bitbucket_rsaa
  User git

エラーが出ないように権限を変更

chmod 700 /User/mochizuki/.ssh/config

次にBitBucketのレポジトリに戻ります。

そして、レポジトリの「設定」から

SSH鍵を追加をクリックします。

この画面に

$ cat ~/.ssh/bitbucket_rsa | pbcopy

からクリップボードにコピーした公開鍵を大きな方のボックスに入力

ファイル名をLabelに入力します。

そして「鍵を追加」をクリックします。

f:id:mochizuki_p:20170215193646p:plain

4.ローカルレポジトリからリモートオリジンを追加

注意点としては、originの代わりにedit-only-originを指定するところです。

プロトコルはhttpsが良いでしょう

f:id:mochizuki_p:20170215193739p:plain

$ git remote add edit-only-origin https://Mochizuki_p@bitbucket.org/Mochizuki_p/wakka.git 

pushの場合も同様です。

$ git push edit-only-origin

最初の登録時に入力したパスワードをここで入力します。

Password for 'https://Mochizuki_p@bitbucket.org': 

こうすると、リモートレポジトリに無事プッシュできます。

Counting objects: 45, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (44/44), done.
Writing objects: 100% (45/45), 4.96 MiB | 642.00 KiB/s, done.
Total 45 (delta 4), reused 0 (delta 0)
To https://Mochizuki_p@bitbucket.org/Mochizuki_p/wakka.git
 * [new branch]      master -> master

f:id:mochizuki_p:20170215193809p:plain

参考資料

qiita.com