SlideShare a Scribd company logo
1 of 78
Download to read offline
はじめてのMercurial/Bitbucket
                                             日本CodeIgniterユーザ会
                                                Kenji Suzuki

                                                        2011/02/19
CodeIgniter and its logo are property of EllisLab Inc                CodeIgniter Users Group in Japan
目次


          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
Part 1


                  Part 1 バージョン管理システムとは?




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
バージョン管理システムとは?


          ファイルの変更履歴を管理するシステム
             ➔変更したすべてのファイルを保存する
                  • いつ誰がそのファイルを変更したのか
                  • どんな変更をしたのか
             ➔保存された過去の状態に戻せる
             ➔要するに、便利なバックアップシステム
                  • 使い方を覚える前は「なんかめんどくさ
                    そう」と思うが、使えるようになると「もっ
                         と早く勉強すればよかった」と思う

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
用語の説明


          基本的な用語
             ➔リポジトリ
             ➔作業フォルダ
             ➔コミット




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
リポジトリとは?


          ファイルの変更履歴を保存する場所




                             リポジトリ




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
作業フォルダとは?


          実際に作業するフォルダ
          ワーキング・ディレクトリや作業領域とも



                         リポジトリ


                                                        作業フォルダ




CodeIgniter and its logo are property of EllisLab Inc            CodeIgniter Users Group in Japan
コミットとは?


          リポジトリにファイルを保存すること




                                                        作業フォルダ


                   リポジトリ

                                                           ファイル




CodeIgniter and its logo are property of EllisLab Inc            CodeIgniter Users Group in Japan
集中型と分散型


          集中型
             ➔リポジトリが1つ
             ➔サーバ上に存在
             ➔CVS、Subversionなど




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
集中型




                   リポジトリ



                                                           作業フォルダ




                           作業フォルダ
                                                        作業フォルダ




CodeIgniter and its logo are property of EllisLab Inc       CodeIgniter Users Group in Japan
集中型と分散型


          分散型(DVCS)
             ➔リポジトリが複数
             ➔各々のユーザのコンピュータ上に存在
             ➔Git、Mercurialなど




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
分散型




                                                         リポジトリ


                                                        作業フォルダ




                               リポジトリ
                                                                  リポジトリ

                           作業フォルダ
                                                                 作業フォルダ




CodeIgniter and its logo are property of EllisLab Inc             CodeIgniter Users Group in Japan
分散型




                   リポジトリ
                                                                  リポジトリ



                                                              作業フォルダ




                             リポジトリ                       リポジトリ



                         作業フォルダ                         作業フォルダ



CodeIgniter and its logo are property of EllisLab Inc       CodeIgniter Users Group in Japan
Part 2


                                  Part 2 Mercurialとは?




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Mercurialとは?


          分散型のバージョン管理システム
             ➔クロスプラットフォーム
             ➔Pythonで実装されている
             ➔コマンドはhg




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
Mercurialのインストール


          Ubuntu/Debian

               $ sudo apt-get install mercurial




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
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
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
CUI vs GUI


          CUIとGUIはどちらがよいか?




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
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
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
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
Part 3


                          Part 3 Mercurialの使い方(1)
                                           基本的な使い方




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
Mercurialの使い方


          リポジトリの作成(hg init)
             ➔新規にフォルダを作成
                     $ hg init mywork
             ➔既存のフォルダをリポジトリに
                     $ cd mywork
                     $ hg init




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Mercurialの使い方


          hg initするとどうなるか?
             ➔フォルダに「.hgフォルダ」が作成される
             ➔「.hgフォルダ」が「リポジトリ」
             ➔「.hgフォルダ以外」は「作業フォルダ」
             ➔.hgフォルダを削除すれば普通のフォルダ
              に戻る
             ➔.hgフォルダの中身は(設定ファイル以外)
              いじってはいけない


CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
リポジトリと作業フォルダ


          リポジトリと作業フォルダのイメージ


                                    リポジトリ
                                     =.hg
                                                    作業フォルダ




CodeIgniter and its logo are property of EllisLab Inc        CodeIgniter Users Group in Japan
Mercurialの使い方


          ファイルを管理対象に(hg add)
             ➔リポジトリを作成しただけでは、リポジトリ
              の中は空
             ➔保存したいファイルを管理対象にする必
              要がある
             ➔管理対象でないファイルは作業フォルダ
              内にあってもリポジトリに保存されない




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
Mercurialの使い方


          リポジトリにファイルを保存(hg commit)
             ➔コミット
                     $ hg commit
             ➔コミットメッセージを指定してコミット
                     $ hg commit -m ”commit message”
             ➔コミットメッセージとは?
                  • コミットしたときに記載するメッセージ
                  • 変更内容などを書く
                  • 変更履歴(ログ)に表示される
CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
チェンジセットとは?


          チェンジ = 変更点
          セット = 集合
          チェンジセット = 変更点の集まり
             ➔コミットするごとにチェンジセットが作成さ
              れる
             ➔チェンジセット=リビジョン(バージョン)
                  • ファイルが保存されたタイミング
                  • その時のファイルに戻すことができる
CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Mercurialの使い方


          ファイルの変更点の確認(hg diff)
             ➔特定ファイルの変更点をみる
                     $ hg diff myfile.php
             ➔全てのファイルの変更点をみる
                     $ hg diff
             ➔何と何の変更点か?
                  • リポジトリのファイルと作業フォルダの
                    ファイルの変更点


CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
Mercurialの使い方


          変更履歴(ログ)の見方(hg log)
             ➔ログの表示
                     $ hg log
             ➔詳細の表示
                     $ hg log -v




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
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
Mercurialの使い方


          ヘルプの見方(hg help)
             ➔hg help
                  • コマンド一覧が表示される
             ➔hg help コマンド名
             ➔例
                     $ hg help status




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Part 4


                          Part 4 Mercurialの使い方(2)
                                  複数リポジトリの使い方




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
複数のリポジトリを使う


          今まではSubversionと同じく
           リポジトリが1つだった
          分散型ではリポジトリをいくつでも使える
          複数のリポジトリを使うとは?
             ➔リポジトリのコピーを作成する(clone)
             ➔他のリポジトリへ変更を送る(push)
             ➔他のリポジトリから変更を取り込む(pull)
          リポジトリを分けてSubversionのブランチ
           のように使える

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
複数のリポジトリを使う


          リポジトリのコピーを作成する(hg clone)
             ➔hg clone コピー元 コピー先
                     $ hg clone mywork mywork2




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
複数のリポジトリを使う


          他のリポジトリへ変更を送る(hg push)
             ➔mywork2からmyworkへ送る
              $ cd mywork2
              (...作業...)
              $ hg push ../mywork
             ➔ただし、これだけではmyworkの中の
              ファイルは更新されない




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
複数のリポジトリを使う


          作業フォルダのチェンジセットの確認
             ➔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
複数のリポジトリを使う


          作業フォルダを更新する(hg update)
             ➔mywork作業フォルダの更新
                     $ hg update
             ➔チェンジセットの確認
              $ hg parents
                     チェンジセット:                           2:ce327f106abd
                     タグ:                                tip




CodeIgniter and its logo are property of EllisLab Inc                    CodeIgniter Users Group in Japan
複数のリポジトリを使う


          他のリポジトリの変更を取り込む(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
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
複数のリポジトリを使う


          ヘッドの確認(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
tipとは?


          そのリポジトリに最後に追加された
           チェンジセット
             ➔Mercurialにより自動的にタグが付く
             ➔通常は最新のチェンジセット
             ➔ただし、必ずしも時間的に最新とは
              限らない




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
mergeとは?


          枝分かれしたヘッドを統合すること
             ➔ヘッドが2つの場合はMercurialが自動
              的にマージ対象を特定
             ➔ヘッドが3つ以上の場合は、マージ対象の
              チェンジセットを引数で指定
             ➔うまくマージできなかった場合、衝突(コン
              フリクト)と言う
             ➔うまくマージできたとしても、プログラムが
              正しく動作する保証はない


CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
マージの仕方


          作業フォルダのチェンジセットを確認
               $ 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
衝突の解消の仕方


          衝突したファイルと状況を確認する
             ➔hg resolve -l
                  • U 未解消
                  • R 解消済み
          衝突したファイルをエディタで修正する
          衝突を解消済みにする
             ➔hg resolve -m
          コミットする

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
衝突したファイル


          衝突したファイルの見方
                 <<<<<<< local

                 マージ前のチェンジセットの内容

                 ||||||| base

                 共通の祖先のチェンジセットの内容

                 =======

                 マージ対象チェンジセットの内容

                 >>>>>>> other


                  0             1             2         3 head


                                                        4 head

CodeIgniter and its logo are property of EllisLab Inc            CodeIgniter Users Group in Japan
マージの仕方


          衝突の確認                                        $ 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
マージの仕方


          マージ後の作業フォルダ
               $ 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
Part 5


                                  Part 5 Bitbucketとは?




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Bitbucketとは?


          Mercurial版GitHub
          Mercurialのホスティングサービス
          公開リポジトリは無料で制限なし
          プライベートリポジトリも無料でいくつでも
           作れ、容量制限なし
          課金はプライベートリポジトリのユーザ数。
           無料で5人まで
          HTTPSでも書き込み可。SSH不要
             ➔GitHubでも可能でした

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
Bitbucketのユーザ登録


          https://bitbucket.org/ よりユーザ登録
          ユーザ名にアンダースコアは避けた方がよ
           いかも知れない
          HTTPSで書き込みするためにはパスワード
           が必要なのでOpenIDではサインアップし
           ない




CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
Bitbucketの使い方


          リポジトリを新規作成する場合
             ➔Bitbucket上にリポジトリを作成
             ➔ローカルPCへリポジトリをclone
             ➔ローカルリポジトリに変更をコミット
             ➔ローカルリポジトリの変更を
              Bitbucketへpush
             ➔Bitbucketリポジトリの変更を
              ローカルリポジトリにpull


CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
リポジトリを新規作成した場合




                                                         ローカル
                                                         リポジトリ
                          Bitbucket
                          リポジトリ

                                                        作業フォルダ




                                                         ローカル
                                                         リポジトリ




                                                        作業フォルダ


CodeIgniter and its logo are property of EllisLab Inc    CodeIgniter Users Group in Japan
Bitbucketの使い方


          既存のリポジトリをforkする場合
             ➔Bitbucketで既存のリポジトリをforkして
              自分用のリポジトリを作成
             ➔ローカルPCへリポジトリをclone
             ➔ローカルリポジトリに変更をコミット
             ➔ローカルリポジトリの変更を
              Bitbucketへpush
             ➔fork元のリポジトリの変更を
              ローカルリポジトリにpull

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
リポジトリをforkした場合




                           fork元                        forkした
                          リポジトリ                         リポジトリ




                                                                  ローカル
                                                                  リポジトリ




                                                                 作業フォルダ


CodeIgniter and its logo are property of EllisLab Inc             CodeIgniter Users Group in Japan
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
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
Bitbucketリポジトリの管理


          「Admin」タブから設定




                                                        ←アクセス権の設定



                                                        ←リポジトリの削除




CodeIgniter and its logo are property of EllisLab Inc     CodeIgniter Users Group in Japan
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
Mercurialの設定


          ユーザごとの設定ファイル
             ➔~/.hgrc, %HOME%Mercurial.iniなど
          リポジトリごとの設定ファイル
             ➔.hg/hgrc
                  • そのリポジトリだけの設定を記載する
                  • 例えば、リポジトリのパス
                  • 例えば、ユーザ名を変える

CodeIgniter and its logo are property of EllisLab Inc   CodeIgniter Users Group in Japan
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
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
CodeIgniter Reactorをfork


          ローカルのmyciリポジトリの変更を
           pushする
                $ hg push




                           Reactor                       myci
                           リポジトリ                        リポジトリ                 myci
                                                                             リポジトリ




                                                                         作業フォルダ


CodeIgniter and its logo are property of EllisLab Inc           CodeIgniter Users Group in Japan
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
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
CodeIgniter Reactorをfork


          分岐がなくmergeの必要がない場合
             ➔作業フォルダにpullした変更を
              反映させる
              $ hg update



                                                                              myci
                           Reactor                       myci                リポジトリ
                           リポジトリ                        リポジトリ



                                                                         作業フォルダ


CodeIgniter and its logo are property of EllisLab Inc           CodeIgniter Users Group in Japan
CodeIgniter Reactorをfork


          ローカルのmyciリポジトリの変更を
           pushする
                $ hg push




                           Reactor                       myci
                           リポジトリ                        リポジトリ                 myci
                                                                             リポジトリ




                                                                         作業フォルダ


CodeIgniter and its logo are property of EllisLab Inc           CodeIgniter Users Group in Japan
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
参考文献

          『入門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

More Related Content

Viewers also liked

Becky kelly[1]
Becky kelly[1]Becky kelly[1]
Becky kelly[1]rkelly2010
 
HOW MUCH INCOME DO YOU NEED
HOW MUCH INCOME DO YOU NEEDHOW MUCH INCOME DO YOU NEED
HOW MUCH INCOME DO YOU NEEDSUSAN HARVEY
 
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークCodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークkenjis
 
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference Boston
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference BostonSales Transformation Kevin Purcell 2011 Sales 2.0 Conference Boston
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference BostonKevin Purcell
 
Youth nited for juan healthy nation
Youth nited for juan healthy nationYouth nited for juan healthy nation
Youth nited for juan healthy nationBernard Cielo
 
Automating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight SemanticsAutomating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight Semanticsmmaleshkova
 
Zasady prezentacji 2
Zasady prezentacji 2Zasady prezentacji 2
Zasady prezentacji 2pcmp
 

Viewers also liked (11)

WAIT TIME
WAIT TIMEWAIT TIME
WAIT TIME
 
Becky kelly[1]
Becky kelly[1]Becky kelly[1]
Becky kelly[1]
 
HOW MUCH INCOME DO YOU NEED
HOW MUCH INCOME DO YOU NEEDHOW MUCH INCOME DO YOU NEED
HOW MUCH INCOME DO YOU NEED
 
HMI/UI Development Services - Bangalore, India
HMI/UI Development Services - Bangalore, IndiaHMI/UI Development Services - Bangalore, India
HMI/UI Development Services - Bangalore, India
 
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークCodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
 
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference Boston
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference BostonSales Transformation Kevin Purcell 2011 Sales 2.0 Conference Boston
Sales Transformation Kevin Purcell 2011 Sales 2.0 Conference Boston
 
USDA  LOANS
USDA  LOANSUSDA  LOANS
USDA  LOANS
 
Youth nited for juan healthy nation
Youth nited for juan healthy nationYouth nited for juan healthy nation
Youth nited for juan healthy nation
 
Automating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight SemanticsAutomating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight Semantics
 
Zasady prezentacji 2
Zasady prezentacji 2Zasady prezentacji 2
Zasady prezentacji 2
 
Sitting the Key Features Examination
Sitting the Key Features ExaminationSitting the Key Features Examination
Sitting the Key Features Examination
 

Similar to はじめてのMercurial/Bitbucket

CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!kenjis
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)kenjis
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編Akihiko Shirai
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業についてHisatoshi Kikumoto
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開Hideki Takase
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)泰 増田
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版VirtualTech Japan Inc./Begi.net Inc.
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれKazumi IWANAGA
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践日本マイクロソフト株式会社
 
ひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむsoishino
 
今さら聞けない人のためのGit超入門 OSC2018名古屋版
今さら聞けない人のためのGit超入門 OSC2018名古屋版今さら聞けない人のためのGit超入門 OSC2018名古屋版
今さら聞けない人のためのGit超入門 OSC2018名古屋版VirtualTech Japan Inc./Begi.net Inc.
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018Yoshio Terada
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたTakako Miyagawa
 

Similar to はじめてのMercurial/Bitbucket (20)

CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!CodeIgniterユーザガイドの翻訳に参加しよう!
CodeIgniterユーザガイドの翻訳に参加しよう!
 
CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)CodeIgniter 最新情報 2011 (増補版)
CodeIgniter 最新情報 2011 (増補版)
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
エンジニアという職業について
エンジニアという職業についてエンジニアという職業について
エンジニアという職業について
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19
 
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
 
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
【de:code 2020】 Azure Kubernetes Service と Azure DevOps による GitOps の実践
 
ひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむひとりドキュメント担当の仕事を楽しむ
ひとりドキュメント担当の仕事を楽しむ
 
今さら聞けない人のためのGit超入門 OSC2018名古屋版
今さら聞けない人のためのGit超入門 OSC2018名古屋版今さら聞けない人のためのGit超入門 OSC2018名古屋版
今さら聞けない人のためのGit超入門 OSC2018名古屋版
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
Japan Container Day 2018
Japan Container Day 2018Japan Container Day 2018
Japan Container Day 2018
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 

More from kenjis

AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワークAspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワークkenjis
 
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイントkenjis
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoyakenjis
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成kenjis
 
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しようkenjis
 
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード kenjis
 
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010kenjis
 
『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのこと『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのことkenjis
 
CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?kenjis
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittrkenjis
 

More from kenjis (13)

AspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワークAspectMock 最強のモッキングフレームワーク
AspectMock 最強のモッキングフレームワーク
 
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
『はじめてのフレームワークとしてのFuelPHP 改訂版(第2版)』のポイント
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
 
達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう達人出版会からPHPの本を出版しよう
達人出版会からPHPの本を出版しよう
 
FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード FuelPHPでのファイルアップロード
FuelPHPでのファイルアップロード
 
CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010CodeIgniter 最新情報 2010
CodeIgniter 最新情報 2010
 
『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのこと『PHP逆引きレシピ』とセキュリティのこと
『PHP逆引きレシピ』とセキュリティのこと
 
CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?CodeIgniter 貴方はどのフレームワークを使うべきか?
CodeIgniter 貴方はどのフレームワークを使うべきか?
 
CodeIgniterによるPhwittr
CodeIgniterによるPhwittrCodeIgniterによるPhwittr
CodeIgniterによるPhwittr
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

はじめての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