[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
はじめてのMercurial/Bitbucket
1. はじめてのMercurial/Bitbucket
日本CodeIgniterユーザ会
Kenji Suzuki
2011/02/19
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
2. 目次
Part 1 バージョン管理システムとは?
Part 2 Mercurialとは?
Part 3 Mercurialの使い方(1)
~ 基本的な使い方 ~
Part 4 Mercurialの使い方(2)
~ 複数リポジトリの使い方 ~
Part 5 Bitbucketとは?
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
3. Part 1
Part 1 バージョン管理システムとは?
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
4. バージョン管理システムとは?
ファイルの変更履歴を管理するシステム
➔変更したすべてのファイルを保存する
• いつ誰がそのファイルを変更したのか
• どんな変更をしたのか
➔保存された過去の状態に戻せる
➔要するに、便利なバックアップシステム
• 使い方を覚える前は「なんかめんどくさ
そう」と思うが、使えるようになると「もっ
と早く勉強すればよかった」と思う
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
5. 用語の説明
基本的な用語
➔リポジトリ
➔作業フォルダ
➔コミット
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
6. リポジトリとは?
ファイルの変更履歴を保存する場所
リポジトリ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
7. 作業フォルダとは?
実際に作業するフォルダ
ワーキング・ディレクトリや作業領域とも
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
8. コミットとは?
リポジトリにファイルを保存すること
作業フォルダ
リポジトリ
ファイル
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
9. 集中型と分散型
集中型
➔リポジトリが1つ
➔サーバ上に存在
➔CVS、Subversionなど
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
10. 集中型
リポジトリ
作業フォルダ
作業フォルダ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
11. 集中型と分散型
分散型(DVCS)
➔リポジトリが複数
➔各々のユーザのコンピュータ上に存在
➔Git、Mercurialなど
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
12. 分散型
リポジトリ
作業フォルダ
リポジトリ
リポジトリ
作業フォルダ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
13. 分散型
リポジトリ
リポジトリ
作業フォルダ
リポジトリ リポジトリ
作業フォルダ 作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
14. Part 2
Part 2 Mercurialとは?
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
15. Mercurialとは?
分散型のバージョン管理システム
➔クロスプラットフォーム
➔Pythonで実装されている
➔コマンドはhg
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
16. Mercurialのメリット
Subversionにコマンドが似ている
Gitよりわかりやすく初心者が覚えやすい
Windowsサポート
多くのホスティングサービス
➔Google Code, SourceForge,
Bitbucket, CodePlex, Assembla, ...
CodeIgniterの開発に使われている
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
17. Mercurialのインストール
Ubuntu/Debian
$ sudo apt-get install mercurial
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
18. Mercurialのインストール
Windows
➔http://tortoisehg.org/
よりTortoiseHGをダウンロードして
インストール
➔(参考)TortoiseHg のインストール
http://d.hatena.ne.jp/Kenji_s/20110204/1296781160
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
19. Mercurialのインストール
Mac OS X
➔バイナリ
• http://mercurial.berkwood.com/
➔MacPorts
$ sudo port install mercurial
➔MacHg
• http://jasonfharris.com/machg/
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
20. Mercurialのバージョンの確認
hg version
Mercurial - 分散構成管理ツール(バージョン 1.6.3)
著作権 (C) 2005-2010 Matt Mackall <mpm@selenic.com> 他
本製品はフリーソフトウェアです。頒布/改変の際はライセンス条項をお読み
ください。市場適合性や特定用途への可否を含め、本製品は無保証です。
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
21. CUI vs GUI
CUIとGUIはどちらがよいか?
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
22. CUI vs GUI
CUIとGUIはどちらがよいか?
http://twitter.com/sawonya/status/17754589323333633
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
23. Mercurialの設定ファイル
ユーザ設定ファイル
➔GNU/Linux, Mac OS X
• ~/.hgrc
➔Windows
• %HOME%Mercurial.ini
• %HOME%.hgrc
• %USERPROFILE%Mercurial.ini
• %USERPROFILE%.hgrc
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
24. Mercurialの設定ファイル
.hgrcに以下を記載
[ui]
username = ユーザ名
例
Windows:
[ui]
username = kenjis
editor = C:UsersKenjiDesktopsakuraW.exe
Ubuntu:
[ui]
username = kenjis
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
25. Mercurialの設定ファイル
マージツールにdiff3を使う例
Ubuntu:
[ui]
merge = diff3
1行で
[merge-tools]
diff3.args = -m
-L local -L base -L other
$local $base $other > $output
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
26. Part 3
Part 3 Mercurialの使い方(1)
基本的な使い方
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
27. Mercurialの使い方
hg init - リポジトリの作成
hg add - ファイルを管理対象に
hg commit - リポジトリにファイルを保存
hg diff - ファイルの変更点の確認
hg status - ファイルの状態の確認
hg log - 変更履歴(ログ)を見る
hg help - ヘルプを見る
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
28. Mercurialの使い方
リポジトリの作成(hg init)
➔新規にフォルダを作成
$ hg init mywork
➔既存のフォルダをリポジトリに
$ cd mywork
$ hg init
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
29. Mercurialの使い方
hg initするとどうなるか?
➔フォルダに「.hgフォルダ」が作成される
➔「.hgフォルダ」が「リポジトリ」
➔「.hgフォルダ以外」は「作業フォルダ」
➔.hgフォルダを削除すれば普通のフォルダ
に戻る
➔.hgフォルダの中身は(設定ファイル以外)
いじってはいけない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
30. リポジトリと作業フォルダ
リポジトリと作業フォルダのイメージ
リポジトリ
=.hg
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
31. Mercurialの使い方
ファイルを管理対象に(hg add)
➔リポジトリを作成しただけでは、リポジトリ
の中は空
➔保存したいファイルを管理対象にする必
要がある
➔管理対象でないファイルは作業フォルダ
内にあってもリポジトリに保存されない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
32. Mercurialの使い方
ファイルを管理対象に(hg add)
➔特定ファイルを管理対象に追加
$ hg add myfile.php
➔全てのファイルを管理対象に追加
$ hg add
➔カレントディレクトリ以下のファイルを追加
$ hg add .
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
33. Mercurialの使い方
リポジトリにファイルを保存(hg commit)
➔コミット
$ hg commit
➔コミットメッセージを指定してコミット
$ hg commit -m ”commit message”
➔コミットメッセージとは?
• コミットしたときに記載するメッセージ
• 変更内容などを書く
• 変更履歴(ログ)に表示される
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
34. チェンジセットとは?
チェンジ = 変更点
セット = 集合
チェンジセット = 変更点の集まり
➔コミットするごとにチェンジセットが作成さ
れる
➔チェンジセット=リビジョン(バージョン)
• ファイルが保存されたタイミング
• その時のファイルに戻すことができる
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
35. Mercurialの使い方
ファイルの変更点の確認(hg diff)
➔特定ファイルの変更点をみる
$ hg diff myfile.php
➔全てのファイルの変更点をみる
$ hg diff
➔何と何の変更点か?
• リポジトリのファイルと作業フォルダの
ファイルの変更点
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
36. Mercurialの使い方
ファイルの状態の確認(hg status)
➔特定ファイルの状態をみる
$ hg status myfile.php
➔全てのファイルの状態をみる
$ hg status
➔マークの意味
• ? 管理対象外
• A 追加予定
• M 変更されている
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
37. Mercurialの使い方
変更履歴(ログ)の見方(hg log)
➔ログの表示
$ hg log
➔詳細の表示
$ hg log -v
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
38. Mercurialの使い方
hg log
チェンジセット: 2124:b4898a291db8
タグ: tip
ユーザ: Greg Aker <greg.aker@ellislab.com>
日付: Tue Dec 21 13:49:33 2010 -0600
要約: Fix #85 error in db queries in the output profiler.
チェンジセット: リビジョン番号(連番):ハッシュID
要約: コミットメッセージの1行目
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
39. Mercurialの使い方
hg log -v
チェンジセット: 2124:b4898a291db8
タグ: tip
ユーザ: Greg Aker <greg.aker@ellislab.com>
日付: Tue Dec 21 13:49:33 2010 -0600
ファイル: system/libraries/Profiler.php user_guide/changelog.html
説明:
Fix #85 error in db queries in the output profiler.
ファイル: そのチェンジセットで変更されたファイル
説明: コミットメッセージの全文
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
40. Mercurialの使い方
ヘルプの見方(hg help)
➔hg help
• コマンド一覧が表示される
➔hg help コマンド名
➔例
$ hg help status
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
41. Part 4
Part 4 Mercurialの使い方(2)
複数リポジトリの使い方
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
42. 複数のリポジトリを使う
今まではSubversionと同じく
リポジトリが1つだった
分散型ではリポジトリをいくつでも使える
複数のリポジトリを使うとは?
➔リポジトリのコピーを作成する(clone)
➔他のリポジトリへ変更を送る(push)
➔他のリポジトリから変更を取り込む(pull)
リポジトリを分けてSubversionのブランチ
のように使える
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
43. 複数のリポジトリを使う
リポジトリのコピーを作成する(hg clone)
➔hg clone コピー元 コピー先
$ hg clone mywork mywork2
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
44. 複数のリポジトリを使う
他のリポジトリへ変更を送る(hg push)
➔mywork2からmyworkへ送る
$ cd mywork2
(...作業...)
$ hg push ../mywork
➔ただし、これだけではmyworkの中の
ファイルは更新されない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
45. 複数のリポジトリを使う
作業フォルダのチェンジセットの確認
➔mywork2作業フォルダ
$ cd mywork2
$ hg parents
チェンジセット: 2:ce327f106abd
タグ: tip
➔mywork作業フォルダ
$ cd ../mywork
$ hg parents
チェンジセット: 1:564c71262a09
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
46. 複数のリポジトリを使う
作業フォルダを更新する(hg update)
➔mywork作業フォルダの更新
$ hg update
➔チェンジセットの確認
$ hg parents
チェンジセット: 2:ce327f106abd
タグ: tip
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
47. 複数のリポジトリを使う
他のリポジトリの変更を取り込む(hg pull)
➔mywork、mywork2ともに
変更をコミットする
➔mywork2にmywork1の変更を取り込む
$ hg pull ../mywork
../mywork から取り込み中
変更点を探索中
チェンジセットを追加中
マニフェストを追加中
ファイルの変更を追加中
1 のチェンジセット(1 の変更を 1 ファイルに適用)を追加(+1個のヘッド)
(ヘッド一覧表示は 'hg heads'、マージ実施は 'hg merge')
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
48. headとは?
先頭のチェンジセット
➔myworkおよびmywork2(単一ヘッド)
mywork 0 1 2 3 head 同じ3でも内容が違う!
リビジョン番号はリポジトリ内でしか
mywork2 0 1 2 3 head 有効でない
➔mywork2にmyworkの変更を取り込む
(複数ヘッド)
mywork2 0 1 2 3 head
4 head 取り込まれた変更
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
49. 複数のリポジトリを使う
ヘッドの確認(hg heads)
$ hg heads
チェンジセット: 4:bfa67261ff9d
タグ: tip
親: 2:ce327f106abd
ユーザ: kenjis
日付: Thu Dec 23 13:10:13 2010 +0900
要約: add echo
チェンジセット: 3:d8deb5a57707
ユーザ: kenjis
日付: Thu Dec 23 13:10:20 2010 +0900
要約: add echo
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
50. tipとは?
そのリポジトリに最後に追加された
チェンジセット
➔Mercurialにより自動的にタグが付く
➔通常は最新のチェンジセット
➔ただし、必ずしも時間的に最新とは
限らない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
51. mergeとは?
枝分かれしたヘッドを統合すること
➔ヘッドが2つの場合はMercurialが自動
的にマージ対象を特定
➔ヘッドが3つ以上の場合は、マージ対象の
チェンジセットを引数で指定
➔うまくマージできなかった場合、衝突(コン
フリクト)と言う
➔うまくマージできたとしても、プログラムが
正しく動作する保証はない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
52. マージの仕方
作業フォルダのチェンジセットを確認
$ hg parents
チェンジセット: 3:d8deb5a57707
ユーザ: kenjis
日付: Thu Dec 23 13:10:20 2010 +0900
要約: add echo
マージする
$ hg merge
myfile.php をマージ中
警告: マージ中に衝突を発見。
myfile.php のマージに失敗!
ファイル状態: 更新数 0、マージ数 0、削除数 0、衝突未解決数 1
'hg resolve' での再度衝突解消か、'hg up -C' で変更破棄してください
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
53. 衝突の解消の仕方
衝突したファイルと状況を確認する
➔hg resolve -l
• U 未解消
• R 解消済み
衝突したファイルをエディタで修正する
衝突を解消済みにする
➔hg resolve -m
コミットする
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
54. 衝突したファイル
衝突したファイルの見方
<<<<<<< local
マージ前のチェンジセットの内容
||||||| base
共通の祖先のチェンジセットの内容
=======
マージ対象チェンジセットの内容
>>>>>>> other
0 1 2 3 head
4 head
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
55. マージの仕方
衝突の確認 $ hg resolve -l
U myfile.php
ファイルの修正 $ vi myfile.php
衝突を解消 $ hg resolve -m
衝突の確認 $ hg resolve -l
R myfile.php
コミット $ hg commit
➔コミットするまでがマージ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
56. マージの仕方
マージ後の作業フォルダ
$ hg parents
$ hg parents
チェンジセット: 5:563ebd60e515
タグ: tip
親: 3:d8deb5a57707
親: 4:bfa67261ff9d
ユーザ: kenjis
日付: Thu Dec 23 14:35:15 2010 +0900
要約: merge
0 1 2 3 5 head
4
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
57. Part 5
Part 5 Bitbucketとは?
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
58. Bitbucketとは?
Mercurial版GitHub
Mercurialのホスティングサービス
公開リポジトリは無料で制限なし
プライベートリポジトリも無料でいくつでも
作れ、容量制限なし
課金はプライベートリポジトリのユーザ数。
無料で5人まで
HTTPSでも書き込み可。SSH不要
➔GitHubでも可能でした
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
59. Bitbucketのユーザ登録
https://bitbucket.org/ よりユーザ登録
ユーザ名にアンダースコアは避けた方がよ
いかも知れない
HTTPSで書き込みするためにはパスワード
が必要なのでOpenIDではサインアップし
ない
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
60. Bitbucketのユーザ登録
(参考)Bitbucket に登録しよう
http://d.hatena.ne.jp/Kenji_s/20101124/1290595752
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
61. Bitbucketの使い方
リポジトリを新規作成する場合
➔Bitbucket上にリポジトリを作成
➔ローカルPCへリポジトリをclone
➔ローカルリポジトリに変更をコミット
➔ローカルリポジトリの変更を
Bitbucketへpush
➔Bitbucketリポジトリの変更を
ローカルリポジトリにpull
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
62. リポジトリを新規作成した場合
ローカル
リポジトリ
Bitbucket
リポジトリ
作業フォルダ
ローカル
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
63. Bitbucketの使い方
既存のリポジトリをforkする場合
➔Bitbucketで既存のリポジトリをforkして
自分用のリポジトリを作成
➔ローカルPCへリポジトリをclone
➔ローカルリポジトリに変更をコミット
➔ローカルリポジトリの変更を
Bitbucketへpush
➔fork元のリポジトリの変更を
ローカルリポジトリにpull
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
64. リポジトリをforkした場合
fork元 forkした
リポジトリ リポジトリ
ローカル
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
65. CodeIgniter Reactorをfork
Reactorのリポジトリをforkする
➔その前に
➔CodeIgniter Reactorとは?
➔(参考)CodeIgniter って何?という人の
ための CodeIgniter Reactor 紹介
http://d.hatena.ne.jp/Kenji_s/20101212/1292141559
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
66. CodeIgniter Reactorをfork
Reactorのリポジトリをforkする
➔ https://bitbucket.org/ellislab/codeigniter-reactor
へアクセスし、「fork」ボタンを押す
➔リポジトリ名は「myci」
➔「Create fork」ボタンを押すとリポジトリ
が作成される
Reactor myci
リポジトリ リポジトリ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
67. Bitbucketリポジトリの管理
「Admin」タブから設定
←アクセス権の設定
←リポジトリの削除
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
68. CodeIgniter Reactorをfork
myciリポジトリをcloneする
$ hg clone https://ユーザ名@bitbucket.org/ユーザ名/myci
$ hg clone ssh://hg@bitbucket.org/ユーザ名/myci
SSHの場合、
https://bitbucket.org/account/
よりSSH公開鍵の登録が必要
Reactor myci
リポジトリ リポジトリ myci
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
69. Mercurialの設定
ユーザごとの設定ファイル
➔~/.hgrc, %HOME%Mercurial.iniなど
リポジトリごとの設定ファイル
➔.hg/hgrc
• そのリポジトリだけの設定を記載する
• 例えば、リポジトリのパス
• 例えば、ユーザ名を変える
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
70. Mercurialの設定
パスの設定(.hg/hgrc)
➔HTTPSの場合
[paths]
default = https://bitbucket.org/ユーザ名/myci
orig = https://bitbucket.org/ellislab/codeigniter-reactor
➔SSHの場合
[paths]
default = ssh://hg@bitbucket.org/ユーザ名/myci
orig = https://bitbucket.org/ellislab/codeigniter-reactor
default: パス名を指定しなかったときに使われる
orig: 任意の名前が可能
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
71. Mercurialの設定
HTTPSの場合
➔HTTP認証の設定
[auth]
bb.prefix = bitbucket.org
bb.username = Bitbucketのユーザ名
bb.password = Bitbucketのパスワード
bb.schemes = https
bb: 認証設定に付ける名前。任意の文字列
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
72. CodeIgniter Reactorをfork
ローカルのmyciリポジトリの変更を
pushする
$ hg push
Reactor myci
リポジトリ リポジトリ myci
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
73. CodeIgniter Reactorをfork
EllisLabのReactorリポジトリの変更を
pullする
$ hg pull orig
Reactor myci
リポジトリ リポジトリ myci
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
74. CodeIgniter Reactorをfork
pullした変更をmergeする
$ hg merge
$ hg commit
myci
Reactor myci リポジトリ
リポジトリ リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
75. CodeIgniter Reactorをfork
分岐がなくmergeの必要がない場合
➔作業フォルダにpullした変更を
反映させる
$ hg update
myci
Reactor myci リポジトリ
リポジトリ リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
76. CodeIgniter Reactorをfork
ローカルのmyciリポジトリの変更を
pushする
$ hg push
Reactor myci
リポジトリ リポジトリ myci
リポジトリ
作業フォルダ
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
77. CodeIgniter Reactorをfork
pull request
➔fork元に自分の変更を取り込んでくれる
ように依頼すること
➔https://bitbucket.org/ellislab/codei
gniter-reactor にアクセス
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan
78. 参考文献
『入門Mercurial』 藤原克則著, 秀和システム, 2009年
『Mercurial による分散リビジョン管理』
http://www.honeyplanet.jp/hgbook.pdf
「Mercurial の使い方のチュートリアル」
http://mercurial.selenic.com/wiki/JapaneseTutorial
「Mercurial Wiki」
http://mercurial.selenic.com/wiki/
「Bitbucket & Mercurial」
http://www.slideshare.net/shibukawa/bitbucketmercurial
「前説 分散バージョン管理システムってなんなん?」
http://www.slideshare.net/TakashiOkamoto/20101218-6213044
CodeIgniter and its logo are property of EllisLab Inc CodeIgniter Users Group in Japan