Bitbucket で CodeIgniter 2.0 を開発してみよう
Bitbucket で公開されている CodeIgniter 2.0 のソースを元に、開発を進める手順について解説します。
準備
https://bitbucket.org/plans にアクセスして、「5 Users Free」より「sign up」してアカウントを作成します。アカウント作成の詳細は、Bitbucket に登録しよう を参照してください。
自分の PC に Mercurial をインストールします。
Ubuntu の場合は、
$ sudo apt-get install mercurial
Windows の場合は、TortoiseHg のインストール を参照してください。
Bitbucket で EllisLab の CodeIgniter リポジトリを fork する
まず、EllisLab の CodeIgniter リポジトリを fork して、自分用のリポジトリを作成します。
EllisLab の CodeIgniter リポジトリのページ https://bitbucket.org/ellislab/codeigniter へアクセスし、「fork」ボタンを押します。
fork の作成ページに移りますので、「Create fork」ボタンを押します。Name(リポジトリ名)は自由に変更できます。Description(説明)にリポジトリの説明を記載することもできます。
「Create fork」ボタンを押せば、fork が作成されるはずですが、何故か、下のようなエラーページが表示されました。
しかし、リポジトリは作成されていました。
「Repositoies」メニューに作成した「CodeIgniter」が表示されますので、クリックします。
自分用の「CodeIgniter」リポジトリのページに移動します。
clone するコマンドが表示されています。
なお、自分が作成したリポジトリはいつでも完全に削除できますので、気軽に試してみましょう。
自分の PC に作成したリポジトリを clone する
Bitbucket 上で作成したリポジトリのコピーを自分の PC 上に作成(ダウンロード)します。表示されていたコマンドを入力するだけの簡単な作業です。
$ hg clone https://kenji_s@bitbucket.org/kenji_s/codeigniter
以下のように表示されて完了です。
複製先ディレクトリ: codeigniter 全チェンジセットを取得中 チェンジセットを追加中 マニフェストを追加中 ファイルの変更を追加中 2091 のチェンジセット(10598 の変更を 477 ファイルに適用)を追加 ブランチ default へ更新中 ファイル状態: 更新数 314、マージ数 0、削除数 0、衝突未解決数 0
Mercurial の設定をする
ここではこのリポジトリ専用の設定をします。自分用の共通の設定をしたい場合は「~/.hgrc」に記載します。
clone したリポジトリに移動し、設定ファイル「.hg/hgrc」を編集します。
$ cd codeigniter $ vi .hg/hgrc
[paths] セクションを以下のように変更します。URI に含まれるユーザ名は削除し、別途設定します。orig は本家のリポジトリのパスです。
[paths] default = https://bitbucket.org/kenji_s/codeigniter orig = https://bitbucket.org/ellislab/codeigniter
[ui] セクションをファイルの最後に追加します。username には Bitbucket のユーザ名を指定します。
[ui] username = kenji_s
HTTP 認証でのパスワード設定も追加しておきます(参考)。頭の「bb」は、この認証設定の名前です。自由に指定できます。
[auth] bb.prefix = bitbucket.org bb.username = kenji_s bb.password = (bitbucket のパスワード) bb.schemes = https
念のため、自分以外が設定ファイルにアクセスできないようにパーミッションを変更しておきます。
$ chmod og-rwx .hg/hgrc
なお、ここでは HTTPS でのアクセス方法で設定していますが、SSH でアクセスすることもできます。その場合は、Bitbucket の Account ページから公開鍵を登録してください。[auth] セクションの設定は HTTP 認証の設定ですので、SSH の場合は不要になります。
自分の PC 上のリポジトリで CodeIgniter に変更を加える
ファイルを追加する場合は、「hg add」コマンドを使います。
$ hg add path/to/filename.php
変更したファイルの状態は「hg status」コマンドで確認できます。
$ hg status
変更した内容は「hg diff」コマンドで確認できます。
$ hg diff
変更が完了したら、「hg commit」コマンドで、変更を自分の PC 上のリポジトリに登録します。
$ hg commit
自分が行った変更を Bitbucket へ push する
自分の PC 上のリポジトリでの変更を「hg push」コマンドで Bitbucket へアップロードします。
$ hg push
https://bitbucket.org/kenji_s/codeigniter への反映中 変更点を探索中 adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files bb/acl: kenji_s is allowed. accepted payload.
上記のように表示されて完了しました。
Bitbucket の自分のリポジトリのページにアクセスすると、変更がコミットされていることが確認できます。
本家の変更点を pull する
本家での開発は進んでいきますので、その変更点を自分のリポジトリに pull しましょう。
まず、本家リポジトリより自分の PC のリポジトリへ、変更点を pull します。ここでは「-r」オプションで default ブランチのみを pull するように指定しています。
$ hg pull -r default orig
https://bitbucket.org/ellislab/codeigniter から取り込み中 変更点を探索中 チェンジセットを追加中 マニフェストを追加中 ファイルの変更を追加中 4 のチェンジセット(5 の変更を 5 ファイルに適用)を追加(+1個のヘッド) (ヘッド一覧表示は 'hg heads'、マージ実施は 'hg merge')
ヘッドが 2つになっているため merge します。
$ hg merge
commit します。
$ hg commit
これで、自分の PC 上のリポジトリにコミットされました。続いて、Bitbucket の自分のリポジトリに push します。
$ hg push
https://bitbucket.org/kenji_s/codeigniter への反映中 変更点を探索中 adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 2 files bb/acl: kenji_s is allowed. accepted payload.
これで完了です。
(19:11 追記) ここでは、Bitbucket のユーザ名に「_」を使っていますが、「Free Hosting」という機能でユーザ名がホスト名に使われるようですので、アンダースコアは使わない方が無難かも知れません。
参考
- Forking a Bitbucket Repository http://confluence.atlassian.com/display/BITBUCKET/Forking+a+Bitbucket+Repository
- 作者: 藤原克則
- 出版社/メーカー: 秀和システム
- 発売日: 2009/01/20
- メディア: 単行本
- 購入: 10人 クリック: 220回
- この商品を含むブログ (63件) を見る
関連
- 作者: 河合勝彦,鈴木憲治,安藤建一
- 出版社/メーカー: 翔泳社
- 発売日: 2008/06/10
- メディア: 大型本
- 購入: 11人 クリック: 88回
- この商品を含むブログ (19件) を見る