MacHg と Bitbucket の簡単な使い方

例として Xcode 4 のプロジェクト(今回は AdMobTabBar)を Bitbucket に登録して MacHg で管理する簡単な方法を挙げます。

1. Xcode 4 で新しいプロジェクト AdMobTabBar を作成
  これは既存のプロジェクトでも良いです。


2. 出来上がった AdMobTabBar フォルダを MacHG へドラッグ&ドロップ
 


3. 表示されたダイアログに必要項目を入力
  デフォルトのままで特に問題はありません。
 
  これで AdMobTabBar のリポジトリができあがりました。

  "?" のマークは「Untracked」で、まだファイルがリポジトリに登録されていない状態です。
  (上記キャプチャは .hgignore で .git フォルダ等を無視する設定にしてあります。.hgignore の詳細や Xcode 4 での設定については BitBucket の説明Xcode 4 での .hgignore の設定を参照してください。またファイルを選択して「Action」メニューの「Ignore Selected Files」で選択したファイルを無視することができます。)


4. 「Action」メニューの「AddRemove All Files」で AdMobTabBar プロジェクトのファイルを登録
 


  途中、確認のダイアログが出たり加えた結果のウィンドウが出たりしますが、デフォルトでガンガン進みます。

  「AddRemove All Files」が終了するとこんな画面になります。

  "+" のマークは新しくリポジトリに登録されたファイルです。


5. 「Action」メニューの「Commit All Files…」でコミット
 


  ダイアログが表示されたらここでコミットの情報を入力して「Commit」をクリック!
 


  結果、こんな感じになります。

  コミットしたので、ファイルの状態に何もアイコンがなくなりました。


  履歴の画面はこんな感じ。
  Revision 0 が initialize repository で、Revision 1 が今コミットした Initial Commit。


6. Bitbucket で AdMobTabBar というリポジトリを作成
 


7. MacHg に戻り「リポジトリリスト」領域で右クリックもしくは「Repository」メニューで「Add Server Repository… 」を選択してサーバリポジトリ(リモートリポジトリ)を作成
 
  表示されるダイアログでは MacHg で表示する時に使われる「Short Name」と Bitbucket で作成したリポジトリにアクセスする「Server URL」を入力します。
 
  「Short Name」は自分でわかりやすいもの。URL は Bitbucket でリポジトリを作成した時に表示されるアドレスを入れます。(Username は URL から自動的に取り出してくれます。)
  また、この例では Butbucket で設定して ssh を使ってアクセスしていますが、ssh を使わずに https でアクセスすることもできます。その場合のアドレスは https://paraches@bitbucket.org/paraches/admobtabbar になり、password の入力も必要になります。


  これでサーバーリポジトリもできました!


8. MacHg でローカルの AdMobTabBar を Server の AdMobTabBar へ push!
  ローカルの AdMobTabBar を選択すると、サーバーリポジトリの横に数字が出てきます。下矢印(pull)が 0 で上矢印(push)が 2 です。これはローカルのリポジトリがサーバへ push できるチェンジセットが2つあるということを表しています。


  ここでツールバーの「push」をクリックするとダイアログが表示されます。push したいサーバーリポジトリをポップアップメニューから選択して「Push」です。
 


  確認画面が出てきたら「Push」!


  これで Push 完了です。

  これでサーバーリポジトリもローカルリポジトリも同じチェンジセットになったので、サーバーリポジトリの横にある2つの数字が pull も push も 0 になりました。
  また、履歴の画面もローカルリポジトリと同じになっています。


というわけで、これで Bitbucket をサーバーにしながら MacHg でリポジトリ管理ができるようになったよ!


後は clone したり Push/Pop したり Merge したり開発を進めていくだけ。
その辺りの操作に付いては後日またまとめるつもりです。