S-JIS[2013-01-09] 変更履歴

Bitbucketの使い方

MercurialやGitのWebサービスであるBitbucket(ビットバケット)のメモ。


概要

Bitbucketは(GitHubと同様に)Gitのリポジトリーを作ることが出来る。Gitの他にMercurialも使える(というかむしろ先にMercurialが使えて、後からGitが加わったらしい)。

GitHubは無料版だとpublic(公開)のリポジトリーしか作れないが、Bitbucketはプライベート(非公開)リポジトリーを作ることが出来る。
したがって、自分のローカルにGitのリポジトリーを作り、バックアップとしてBitbucketにpushしておき、ある程度形になって公開してよいという状態になったらGitHubへpushする…というような使い方も出来るのだそうだ。


SSHの設定

Bitbucketへ接続する為のSSHの設定。

  1. SSHの鍵を生成する。
  2. 生成された公開鍵をGitHubに登録する。
    1. $HOME/.ssh/id_rsa.pubの中身をコピーする。(長い文字列なので、コンソールに表示すると途中で改行しているように見えるが、改行しないよう注意)
    2. Bitbucketにログインし、右上の人物アイコンをクリックしてメニューを開き、「Manage Account」を選択してAccount画面へ移動する。
    3. 左側のメニューの「SSH Keys」をクリックする。
    4. 「Add Key」ボタンを押すと「Add SSH Key」というダイアログのようなものが出る。
    5. 「Key」に、id_rsa.pubの中身を貼り付ける。「Label」は備忘となるよう、適当なものを入れておく。
    6. 右下の「Add Key」ボタンを押して、完了。

鍵を修正したい場合は、鍵一覧の右側のEditボタンを押す。削除したい場合は「×」ボタン(確認されずにいきなり消えるので注意!)。
「Add Key」ボタンを押すことで、複数の鍵を追加することが出来る。(別の場所からアクセスしたい時などに使う)


新規リポジトリーの作成

Gitでは「リポジトリー≒プロジェクト」なので、新しいプロジェクト(ソース類一式)を作りたい場合は新規リポジトリーを作成する。

まずBitbucket上でリポジトリーを作成し、自分のPC上にコピー(クローン)する。
そして「リモートリポジトリー」として、自分のリポジトリーにBitbucketリポジトリーを登録する。


Bitbucketリポジトリーの作成

  1. Bitbucketにログインする。
  2. 初回の場合は「Create your first repository」をクリックする。
    初回以外では、Dashboardページの右側の「Create a repository」をクリックする。
  3. リポジトリー名等を入力する。
    Name リポジトリー名(例:sandbox)
    Description リポジトリーの説明
    Access level チェックを付けるとプライベート(非公開)リポジトリーになる。
    Repository type GitかMercurialを選択する。
    Project management IssueやWikiを使うときはチェックを付ける。
    Language 言語(CJavaScala等)を選択する。
  4. 「Create repository」ボタンを押す。

ローカルリポジトリーの作成

Cygwinのgitコマンドを使ってローカルリポジトリーを作ってみる。

「sandbox」というリポジトリーを作った場合の例
  コマンド 説明
初期設定
git config --global user.name "bitbucketのユーザー名"
git config --global user.email bitbucketに登録したメールアドレス
Gitを初めて使う際に一度だけ実行しておけばよい。
(ユーザー名やメールアドレスがGitHubに登録したものと同じであれば、不要)
ローカルリポジトリー作成
git clone git@bitbucket.org:ユーザー名/sandbox.git
Bitbucket上のリポジトリーをコピー(クローン)する。
URL(git@bitbucket.org〜)は、Bitbucket上に作ったリポジトリー画面の右上の「Clone」をクリックすると表示される。
新規作成
cd sandbox
vi README.txt
ファイルを作ってみる。
git add README.txt
git commit -m 'first commit'
ローカルリポジトリーへコミットする。
git push -u origin master
Bitbucket(リモートリポジトリー)へ反映させる。
(次回以降は「git push」のみでOK)

Git目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま