ハンズオンその1Mercurial入門名古屋アジャイル勉強会 分科会 開発ツール勉強会 #1 Mercurial入門                        後半資料                2011年12月10日(土) You&I
3.Mercurialの使い方1.   (分散)バージョン管理システムとは2.   Mercurialとは3.   Mercurialの使い方(実習)4.   まとめ
3.Mercurialの使い方   今回はシンプルに、以下の構成を構築    し、Mercurialがどのような動作にな    るのかを体験して頂きます。    ◦ 中央リポジトリ方式    ◦ ユーザー2人
3.Mercurialの使い方      環境の確認       Mercurialの      インストール状況       を確認する。
環境の確認(1/4) まずは、ターミナルコンソール・コマ  ンドプロンプトを起動しましょう。 以下の指示に従って下さい。    1. 以下のコマンドを実行    hg   version    2. 以下のコマンドを実行    hg   v...
環境の確認(2/4) このようにMercurialのコマンドは、  コマンドの省略が可能となります。 どこまで省略できるかは、似た名前の  コマンドが存在するか否かで決定され  ますので、コマンドを実行して覚えま  しょう。
環境の確認(3/4)   以下の指示に従って下さい。    1. 以下のコマンドを実行    hg   help    2. 以下のコマンドを実行    hg   help   |   more   helpコマンドを実行すると、利用可能 ...
環境の確認(4/4)   Mercurialのコマンドは、基本的にリ    ポジトリが存在するフォルダでのみ実    行が可能なコマンドが殆どです。    1. 以下のコマンドを実行    hg   status
3.Mercurialの使い方  リポジトリの作成       Mercurialの        リポジトリ       を作成する。
リポジトリの作成(1/5)   リポジトリの作成前に、まず今回の勉    強会用の作業フォルダを作成します。    1. 以下のコマンドを実行    mkdir   C:¥TEMP¥758agile¥handson1 (Windows)   ...
リポジトリの作成(2/5)   リポジトリを作成する    1. 以下のコマンドを実行    hg   init    repos    2. 以下のコマンドを実行    cd   repos    3. 以下のコマンドを実行    dir ...
リポジトリの作成(3/5)   リポジトリのある場所でコマンドを実    行する    1. 以下のコマンドを実行    hg   status    hg   st    2. 以下のコマンドを実行    hg   summary    h...
リポジトリの作成(4/5) リポジトリの作成はinitコマンドを実  行するだけで可能。 各コマンドの詳細情報はhelpコマンド  で調べられます。    1. 以下のコマンドを実行    hg   help   init
リポジトリの作成(5/5)   フォルダ構成の確認    ◦ ~/758agile      handson1       repos         .hg
3.Mercurialの使い方  リポジトリの複製      リポジトリを複製し     自分の作業スペースを        用意する。
リポジトリの複製(1/4)   リポジトリを複製するに辺り、作業場    所を移動する。    1. 以下のコマンドを実行    cd   C:¥TEMP¥758agile¥handson1 (Windows)    cd   ~/758ag...
リポジトリの複製(2/4)   リポジトリを複製する。    1. 以下のコマンドを実行    hg   clone   .¥repos myself (Windows)    hg   clone   ./repos myself (Lin...
リポジトリの複製(3/4)   リポジトリを複製する。    3. 以下のファイルをエディタで開く    notepad .¥other¥.hg¥hgrc (Windows)    vi ./other/.hg/hgrc (Linux/Mac...
リポジトリの複製(4/4)   フォルダ構成の確認    ◦ 758agile      handson1        repos    ・・・共有リポジトリ          .hg        myself   ・・・自分用リ...
3.Mercurialの使い方     ユーザー設定       Mercurialの      利用ユーザー毎の       設定を行う。
ユーザー設定(1/3) 一般的なバージョン管理システムでは  コミットを行う際に、ユーザー情報の  入力が必要になります。 最近のバージョン管理システムでは、  設定ファイルにて、ユーザー情報を指  定しておく事で、コミット時にその設  定...
ユーザー設定(2/3)   Windowsの場合    ◦ エクスプローラーを使い、Mercurialのイ      ンストール先(C:¥Program      Files¥Mercurial)から「Mercurial.ini」      ...
ユーザー設定(3/3)   [ui]セクションに以下の行を追加する。    メモ帳or vi/emacs等を利用します。    [ui]    username = 皆さんのお名前 <e-mail>   Linux/Macの場合manコマン...
3.Mercurialの使い方      ファイルの      追加・解除       リポジトリに     ファイルやフォルダの      追加・解除を行う。
ファイルの追加・解除(1/4)   作業場所を移動する。    1. 以下のコマンドを実行    cd C:¥TEMP¥758agile¥handson1¥myself     (Windows)    cd ~/758agile/hands...
ファイルの追加・解除(2/4)   ファイルをリポジトリの管理下に置い    たり、解除したりする。    1. 以下のコマンドを実行    hg   add   aaa.txt    hg   st    2. 以下のコマンドを実行    ...
ファイルの追加・解除(3/4)   hgのコマンドは単色表示なので分かり    にくい。拡張機能を有効にして見やす    くする。    1. 以下のファイルをエディタで開く    notepad %USERPROFILE%¥Mercuria...
ファイルの追加・解除(4/4)   hgのコマンドは単色表示なので分かり    にくい。拡張機能を有効にして見やす    くする。    2. [extensions]セクションに以下の行を       追加又はセミコロン(;)を削除して有効...
3.Mercurialの使い方     ファイルの    コミット・削除       リポジトリに       ファイルを     設定・設定解除する。
ファイルのコミット・削除(1/5)   ファイルをリポジトリにコミットする。    1. 以下のコマンドを実行    hg     add aaa.txt         :リポジトリの管理下に    hg     st           ...
ファイルのコミット・削除(2/5)   リポジトリのファイル削除    1. 「bbb.txt」というファイルを作成する     echo    hogehoge   >   bbb.txt    2. 以下のコマンドを実行     hg  ...
ファイルのコミット・削除(3/5)   リポジトリのファイルの移動    1. 「ccc.txt」というファイルを作成する     echo    hogehoge   >   ccc.txt    2. 以下のコマンドを実行     hg ...
ファイルのコミット・削除(4/5)   ファイル操作の確認    1. 「eee.txt」というファイルを作成する    echo    hogehoge   >   eee.txt    2. 以下のコマンドを実行     hg    ad...
ファイルのコミット・削除(5/5)   ファイル操作で削除したファイルをリ    ポジトリの内容で復活させる    1. 以下のコマンドを実行    hg   update   -C   -r   tip    2. 以下のコマンドを実行  ...
3.Mercurialの使い方    他のリポジトリ      との同期      他のリポジトリ       と同期して    変更内容を送受信する。
他のリポジトリと同期(1/15)   フォルダ構成の確認    ◦ 758agile      handson1        repos    ・・・共有リポジトリ          .hg        myself   ・・・自...
他のリポジトリと同期(2/15)   Diffツールの設定    1. 以下のファイルをエディタで開く    notepad %USERPROFILE%¥Mercurial.ini     (Windows)    vi ~/.hgrc (L...
他のリポジトリと同期(3/15)   Diffツールの設定    3. 以下の内容を修正する (Windows)    [merge-tools]    winmerge.args=/e /x /wl /ub /dl other /dr   ...
他のリポジトリと同期(4/15)   これまでの修正内容を確認する。    1. 以下のコマンドを実行    hg   log    hg   log   -l   3    2. 以下のコマンドを実行    hg   summary    ...
他のリポジトリと同期(5/15)   myselfフォルダの変更内容を共有リポ    ジトリにpushする。    1. 以下のコマンドを実行    hg   outgoing    hg   out    2. 以下のコマンドを実行    ...
他のリポジトリと同期(6/15)   reposフォルダの共有リポジトリの状    態を確認する。    1. 新規にターミナルコンソールを起動する    2. 以下のコマンドを実行    cd C:¥TEMP¥758agile¥handso...
他のリポジトリと同期(7/15)   otherフォルダで共有リポジトリと同    期する。    1. 新規にターミナルコンソールを起動する    2. 以下のコマンドを実行    cd C:¥TEMP¥758agile¥handson1¥...
他のリポジトリと同期(8/15)   otherフォルダで共有リポジトリと同    期する。    5. 以下のコマンドを実行    hg   incoming    hg   in    6. 以下のコマンドを実行    hg   pull...
他のリポジトリと同期(9/15)   otherフォルダで変更を行う。    1. 「123.txt」というファイルを作成する    echo   hogehoge   >   123.txt    2. 以下のコマンドを実行    hg  ...
他のリポジトリと同期(10/15)   otherフォルダで変更を行う。    3. 以下のコマンドを実行    hg   ci    hg   in    hg   out    hg   push
他のリポジトリと同期(11/15)   otherフォルダの変更をmyselfフォル    ダに取り込む。    1. 「aaa.txt」を変更する    echo    magemage   >>    aaa.txt    2. 「fff...
他のリポジトリと同期(12/15)   otherフォルダの変更をmyselfフォル    ダに取り込む。    4. 以下のコマンドを実行    hg   in    hg   pull    hg   up    5. 以下のコマンドを実...
他のリポジトリと同期(13/15)   myselfフォルダの変更をotherフォル    ダに取り込む。(マージ)    1. 「aaa.txt」を変更する    echo    mogmog   >   aaa.txt    2. 以下の...
他のリポジトリと同期(14/15)   myselfフォルダの変更をotherフォル    ダに取り込む。(マージ)    3. 以下のコマンドを実行    hg   up      (変更内容によってはエラー)    hg   merge ...
他のリポジトリと同期(15/15) 自分のローカルで未コミットのファイ  ルがある状態でmerge/updateコマンド  を実行するのは止めた方が良いです。 分散バージョン管理の利点の1つとし  て、自分の変更分のコミットと、他人  の成...
3.Mercurialの使い方      変更を戻す      リポジトリへの    変更なかった事にする。
変更を戻す(1/4)   revertコマンドでコミット前のファイ    ルを元に戻す。    1. 「fff.txt」を更新する    echo   ageage   >>   fff.txt    2. 以下のコマンドを実行する    h...
変更を戻す(2/4)   rollbackコマンドで過去一回分のコ    ミットを戻す。    1. 「fff.txt」を更新する    echo     ageage   >>   fff.txt    2. 以下のコマンドを実行する   ...
変更を戻す(3/4)   rollbackコマンドで過去一回分のコ    ミットを戻す。    4. 以下のコマンドを実行する    hg   sum    hg   rollback
変更を戻す(4/4)   backoutコマンドで指定したコミット    を打ち消す変更を行う。    1. 「fff.txt」を更新する    echo     ageage    >>   fff.txt    2. 以下のコマンドを実行...
3.Mercurialの使い方    変更履歴を確認       リポジトリの     変更履歴を確認する。
変更履歴を確認する(1/5)   myselfフォルダで変更する。    1. 「bbb.txt」を変更する    echo    myself   >>   bbb.txt    2. 以下のコマンドを実行     hg    ci    ...
変更履歴を確認する(2/5)   myselfフォルダで変更を取り込む前に    otherで変更する。    1. 「eee.txt」を変更する    echo    other   >>   eee.txt    2. 以下のコマンドを実...
変更履歴を確認する(3/5)   変更履歴をグラフィカルに行う    1. 以下のファイルをエディタで開く    notepad %USERPROFILE%¥Mercurial.ini     (Windows)    vi ~/.hgrc ...
変更履歴を確認する(4/5)   コマンドのデフォルト値の設定    1. 以下のファイルをエディタで開く    notepad %USERPROFILE%¥Mercurial.ini     (Windows)    vi ~/.hgrc ...
変更履歴を確認する(5/5)   ファイル内で行単位で過去のコミット    の状態を表示する    1. 以下のコマンドを実行    hg   annotate   aaa.txt
3.Mercurialの使い方指定リビジョンに移動       リポジトリの中        を移動する。
指定リビジョンに移動(2/2)   過去のコミットの状態に移動する    1. 以下のコマンドを実行    hg   glog    2. 以下のコマンドを実行    hg   up -clean   -r   [リビジョン番号]    hg...
指定リビジョンに移動(2/2)   過去のコミットの状態に移動する    1. 「bbb.txt」を変更する    echo    myself      >>   bbb.txt    2. 以下のコマンドを実行     hg    ci ...
3.Mercurialの使い方       タグ付け       リポジトリの       ある位置に      タグを付与する。
タグ付け   tagコマンドを利用する事である時点    のコミットに名前を付ける事が可能に    なります。    1. 以下のコマンドを実行    hg   tag [タグラベル]    hg   tags   tagコマンドの使い所と...
3.Mercurialの使い方     エクスポート      リポジトリの内容     をファイル出力する。
エクスポート(1/1)   myselfの内容をZIP書庫に出力する    1. 以下のコマンドを実行(例:リポジトリ       全部)     hg archive -r tip        -t      zip ../export....
3.Mercurialの使い方1.   (分散)バージョン管理システムとは2.   Mercurialとは3.   Mercurialの使い方(実習)4.   まとめ
4.まとめ(1/2) 一連の動作を実際に確かめてみて如何  でしたでしょうか? 今回は本当に初歩の部分しかやらな  かったので、現場で導入する場合には、  共有リポジトリは別PCとなるのでどの  ように設定すべきなのか、という問題  があり...
4.まとめ(2/2) 今回色々とextensionも利用しながら  ハンズオンを行いました。 次なるステップとしては、rebaseや  bookmarkといったextensionを使いこ  なす事で、共有リポジトリを見やすい  状態に保つ事...
Upcoming SlideShare
Loading in …5
×

Mercurial入門(後半)

2,212 views
2,166 views

Published on

名古屋アジャイル勉強会 分科会 開発ツール勉強会 #1 Mercurial入門

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,212
On SlideShare
0
From Embeds
0
Number of Embeds
98
Actions
Shares
0
Downloads
11
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Mercurial入門(後半)

  1. 1. ハンズオンその1Mercurial入門名古屋アジャイル勉強会 分科会 開発ツール勉強会 #1 Mercurial入門 後半資料 2011年12月10日(土) You&I
  2. 2. 3.Mercurialの使い方1. (分散)バージョン管理システムとは2. Mercurialとは3. Mercurialの使い方(実習)4. まとめ
  3. 3. 3.Mercurialの使い方 今回はシンプルに、以下の構成を構築 し、Mercurialがどのような動作にな るのかを体験して頂きます。 ◦ 中央リポジトリ方式 ◦ ユーザー2人
  4. 4. 3.Mercurialの使い方 環境の確認 Mercurialの インストール状況 を確認する。
  5. 5. 環境の確認(1/4) まずは、ターミナルコンソール・コマ ンドプロンプトを起動しましょう。 以下の指示に従って下さい。 1. 以下のコマンドを実行 hg version 2. 以下のコマンドを実行 hg versio 3. 以下のコマンドを実行 hg vers
  6. 6. 環境の確認(2/4) このようにMercurialのコマンドは、 コマンドの省略が可能となります。 どこまで省略できるかは、似た名前の コマンドが存在するか否かで決定され ますので、コマンドを実行して覚えま しょう。
  7. 7. 環境の確認(3/4) 以下の指示に従って下さい。 1. 以下のコマンドを実行 hg help 2. 以下のコマンドを実行 hg help | more helpコマンドを実行すると、利用可能 なコマンドの一覧が確認出来ます。プ ラグインを有効にすると、利用可能な プラグインも表示されます。
  8. 8. 環境の確認(4/4) Mercurialのコマンドは、基本的にリ ポジトリが存在するフォルダでのみ実 行が可能なコマンドが殆どです。 1. 以下のコマンドを実行 hg status
  9. 9. 3.Mercurialの使い方 リポジトリの作成 Mercurialの リポジトリ を作成する。
  10. 10. リポジトリの作成(1/5) リポジトリの作成前に、まず今回の勉 強会用の作業フォルダを作成します。 1. 以下のコマンドを実行 mkdir C:¥TEMP¥758agile¥handson1 (Windows) mkdir –p ~/758agile/handson1 (Linux/Mac) 2. 以下のコマンドを実行 cd "1の手順のパス"
  11. 11. リポジトリの作成(2/5) リポジトリを作成する 1. 以下のコマンドを実行 hg init repos 2. 以下のコマンドを実行 cd repos 3. 以下のコマンドを実行 dir (Windows) ls -la (Linux/Mac)
  12. 12. リポジトリの作成(3/5) リポジトリのある場所でコマンドを実 行する 1. 以下のコマンドを実行 hg status hg st 2. 以下のコマンドを実行 hg summary hg sum
  13. 13. リポジトリの作成(4/5) リポジトリの作成はinitコマンドを実 行するだけで可能。 各コマンドの詳細情報はhelpコマンド で調べられます。 1. 以下のコマンドを実行 hg help init
  14. 14. リポジトリの作成(5/5) フォルダ構成の確認 ◦ ~/758agile  handson1  repos  .hg
  15. 15. 3.Mercurialの使い方 リポジトリの複製 リポジトリを複製し 自分の作業スペースを 用意する。
  16. 16. リポジトリの複製(1/4) リポジトリを複製するに辺り、作業場 所を移動する。 1. 以下のコマンドを実行 cd C:¥TEMP¥758agile¥handson1 (Windows) cd ~/758agile/handson1 (Linux/Mac)
  17. 17. リポジトリの複製(2/4) リポジトリを複製する。 1. 以下のコマンドを実行 hg clone .¥repos myself (Windows) hg clone ./repos myself (Linux/Mac) 2. 以下のコマンドを実行 hg clone .¥repos other (Windows) hg clone ./repos other (Linux/Mac)
  18. 18. リポジトリの複製(3/4) リポジトリを複製する。 3. 以下のファイルをエディタで開く notepad .¥other¥.hg¥hgrc (Windows) vi ./other/.hg/hgrc (Linux/Mac) 4. 以下の内容を追記する [ui] username = other
  19. 19. リポジトリの複製(4/4) フォルダ構成の確認 ◦ 758agile  handson1  repos ・・・共有リポジトリ  .hg  myself ・・・自分用リポジトリ  .hg  other ・・・他人のリポジトリ  .hg ・・・このリポジトリへの変更はother ユーザー固定
  20. 20. 3.Mercurialの使い方 ユーザー設定 Mercurialの 利用ユーザー毎の 設定を行う。
  21. 21. ユーザー設定(1/3) 一般的なバージョン管理システムでは コミットを行う際に、ユーザー情報の 入力が必要になります。 最近のバージョン管理システムでは、 設定ファイルにて、ユーザー情報を指 定しておく事で、コミット時にその設 定情報が自動的にリポジトリへと登録 されます。
  22. 22. ユーザー設定(2/3) Windowsの場合 ◦ エクスプローラーを使い、Mercurialのイ ンストール先(C:¥Program Files¥Mercurial)から「Mercurial.ini」 を「%USERPROFILE%」にコピーする。 Linux/Macの場合 1. 以下のコマンドを実行 touch ~/.hgrc
  23. 23. ユーザー設定(3/3) [ui]セクションに以下の行を追加する。 メモ帳or vi/emacs等を利用します。 [ui] username = 皆さんのお名前 <e-mail> Linux/Macの場合manコマンドでファイ ルのフォーマットの仕様が確認出来ま す。 1. 以下のコマンドを実行 man hgrc
  24. 24. 3.Mercurialの使い方 ファイルの 追加・解除 リポジトリに ファイルやフォルダの 追加・解除を行う。
  25. 25. ファイルの追加・解除(1/4) 作業場所を移動する。 1. 以下のコマンドを実行 cd C:¥TEMP¥758agile¥handson1¥myself (Windows) cd ~/758agile/handson1/myself (Linux/Mac) 2. 「aaa.txt」というファイルを作成する echo hogehoge > aaa.txt 3. 以下のコマンドを実行 hg status hg st
  26. 26. ファイルの追加・解除(2/4) ファイルをリポジトリの管理下に置い たり、解除したりする。 1. 以下のコマンドを実行 hg add aaa.txt hg st 2. 以下のコマンドを実行 hg forget aaa.txt hg st
  27. 27. ファイルの追加・解除(3/4) hgのコマンドは単色表示なので分かり にくい。拡張機能を有効にして見やす くする。 1. 以下のファイルをエディタで開く notepad %USERPROFILE%¥Mercurial.ini (Windows) vi ~/.hgrc (Linux/Mac)
  28. 28. ファイルの追加・解除(4/4) hgのコマンドは単色表示なので分かり にくい。拡張機能を有効にして見やす くする。 2. [extensions]セクションに以下の行を 追加又はセミコロン(;)を削除して有効 化する。 [extensions] color = [color] mode = win32 (Windows) mode = ansi (Linux/Mac)
  29. 29. 3.Mercurialの使い方 ファイルの コミット・削除 リポジトリに ファイルを 設定・設定解除する。
  30. 30. ファイルのコミット・削除(1/5) ファイルをリポジトリにコミットする。 1. 以下のコマンドを実行 hg add aaa.txt :リポジトリの管理下に hg st :変更ファイルの確認 hg commit :変更分をコミット 2. 「aaa.txt」の内容を変更する echo ageage >> aaa.txt 3. 以下のコマンドを実行 hg st :変更ファイルの確認 hg ci :変更分をコミット
  31. 31. ファイルのコミット・削除(2/5) リポジトリのファイル削除 1. 「bbb.txt」というファイルを作成する echo hogehoge > bbb.txt 2. 以下のコマンドを実行 hg add bbb.txt hg ci 3. 以下のコマンドを実行 hg remove bbb.txt :リポジトリのファイル 削除 hg ci
  32. 32. ファイルのコミット・削除(3/5) リポジトリのファイルの移動 1. 「ccc.txt」というファイルを作成する echo hogehoge > ccc.txt 2. 以下のコマンドを実行 hg add ccc.txt hg ci 3. 以下のコマンドを実行 hg rename ccc.txt dir¥ddd.txt (Windows) hg rename ccc.txt dir/ddd.txt (Linux/Mac) hg ci
  33. 33. ファイルのコミット・削除(4/5) ファイル操作の確認 1. 「eee.txt」というファイルを作成する echo hogehoge > eee.txt 2. 以下のコマンドを実行 hg add eee.txt hg ci 3. 以下のコマンドを実行 del /F eee.txt (Windows) rm –f eee.txt (Linux/Mac)
  34. 34. ファイルのコミット・削除(5/5) ファイル操作で削除したファイルをリ ポジトリの内容で復活させる 1. 以下のコマンドを実行 hg update -C -r tip 2. 以下のコマンドを実行 dir (Windows) ls -l (Linux/Mac)
  35. 35. 3.Mercurialの使い方 他のリポジトリ との同期 他のリポジトリ と同期して 変更内容を送受信する。
  36. 36. 他のリポジトリと同期(1/15) フォルダ構成の確認 ◦ 758agile  handson1  repos ・・・共有リポジトリ  .hg  myself ・・・自分用リポジトリ  .hg  other ・・・他人のリポジトリ  .hg
  37. 37. 他のリポジトリと同期(2/15) Diffツールの設定 1. 以下のファイルをエディタで開く notepad %USERPROFILE%¥Mercurial.ini (Windows) vi ~/.hgrc (Linux/Mac) 2. 以下の内容を追記する [extdiff] cmd.winmerge = "C:¥Program Files¥WinMerge¥WinMergeU.exe" (Windows) cmd.vimdiff = vimdiff (Linux/Mac)
  38. 38. 他のリポジトリと同期(3/15) Diffツールの設定 3. 以下の内容を修正する (Windows) [merge-tools] winmerge.args=/e /x /wl /ub /dl other /dr local $other $output $local 4. 以下の内容を追記する (Linux/Mac) [merge-tools] vimdiff.args=$local $other $base vimdiff.priority=-10
  39. 39. 他のリポジトリと同期(4/15) これまでの修正内容を確認する。 1. 以下のコマンドを実行 hg log hg log -l 3 2. 以下のコマンドを実行 hg summary hg sum
  40. 40. 他のリポジトリと同期(5/15) myselfフォルダの変更内容を共有リポ ジトリにpushする。 1. 以下のコマンドを実行 hg outgoing hg out 2. 以下のコマンドを実行 hg push
  41. 41. 他のリポジトリと同期(6/15) reposフォルダの共有リポジトリの状 態を確認する。 1. 新規にターミナルコンソールを起動する 2. 以下のコマンドを実行 cd C:¥TEMP¥758agile¥handson1¥repos (Windows) cd ~/758agile/handson1/repos (Linux/Mac) 3. 以下のコマンドを実行 hg log
  42. 42. 他のリポジトリと同期(7/15) otherフォルダで共有リポジトリと同 期する。 1. 新規にターミナルコンソールを起動する 2. 以下のコマンドを実行 cd C:¥TEMP¥758agile¥handson1¥other (Windows) cd ~/758agile/handson1/other (Linux/Mac) 3. 以下のコマンドを実行 hg log
  43. 43. 他のリポジトリと同期(8/15) otherフォルダで共有リポジトリと同 期する。 5. 以下のコマンドを実行 hg incoming hg in 6. 以下のコマンドを実行 hg pull hg update hg pul
  44. 44. 他のリポジトリと同期(9/15) otherフォルダで変更を行う。 1. 「123.txt」というファイルを作成する echo hogehoge > 123.txt 2. 以下のコマンドを実行 hg add 123.txt hg diff :変更内容を確認する hg diff | more
  45. 45. 他のリポジトリと同期(10/15) otherフォルダで変更を行う。 3. 以下のコマンドを実行 hg ci hg in hg out hg push
  46. 46. 他のリポジトリと同期(11/15) otherフォルダの変更をmyselfフォル ダに取り込む。 1. 「aaa.txt」を変更する echo magemage >> aaa.txt 2. 「fff.txt」というファイルを作成する echo hogehoge > fff.txt 3. 以下のコマンドを実行 hg add fff.txt :まだコミットしない
  47. 47. 他のリポジトリと同期(12/15) otherフォルダの変更をmyselfフォル ダに取り込む。 4. 以下のコマンドを実行 hg in hg pull hg up 5. 以下のコマンドを実行 hg ci hg push
  48. 48. 他のリポジトリと同期(13/15) myselfフォルダの変更をotherフォル ダに取り込む。(マージ) 1. 「aaa.txt」を変更する echo mogmog > aaa.txt 2. 以下のコマンドを実行 hg st hg in hg pull
  49. 49. 他のリポジトリと同期(14/15) myselfフォルダの変更をotherフォル ダに取り込む。(マージ) 3. 以下のコマンドを実行 hg up (変更内容によってはエラー) hg merge (変更内容によっては不要) hg ci hg push
  50. 50. 他のリポジトリと同期(15/15) 自分のローカルで未コミットのファイ ルがある状態でmerge/updateコマンド を実行するのは止めた方が良いです。 分散バージョン管理の利点の1つとし て、自分の変更分のコミットと、他人 の成果のマージのコミットが分離され る事にあると思います。
  51. 51. 3.Mercurialの使い方 変更を戻す リポジトリへの 変更なかった事にする。
  52. 52. 変更を戻す(1/4) revertコマンドでコミット前のファイ ルを元に戻す。 1. 「fff.txt」を更新する echo ageage >> fff.txt 2. 以下のコマンドを実行する hg revert fff.txt more < fff.txt
  53. 53. 変更を戻す(2/4) rollbackコマンドで過去一回分のコ ミットを戻す。 1. 「fff.txt」を更新する echo ageage >> fff.txt 2. 以下のコマンドを実行する hg ci hg sum 3. 以下のコマンドを実行する hg rollback more < fff.txt
  54. 54. 変更を戻す(3/4) rollbackコマンドで過去一回分のコ ミットを戻す。 4. 以下のコマンドを実行する hg sum hg rollback
  55. 55. 変更を戻す(4/4) backoutコマンドで指定したコミット を打ち消す変更を行う。 1. 「fff.txt」を更新する echo ageage >> fff.txt 2. 以下のコマンドを実行する hg ci hg sum 3. 以下のコマンドを実行する hg backout --merge -r [2のコミット番号] hg ci
  56. 56. 3.Mercurialの使い方 変更履歴を確認 リポジトリの 変更履歴を確認する。
  57. 57. 変更履歴を確認する(1/5) myselfフォルダで変更する。 1. 「bbb.txt」を変更する echo myself >> bbb.txt 2. 以下のコマンドを実行 hg ci hg push
  58. 58. 変更履歴を確認する(2/5) myselfフォルダで変更を取り込む前に otherで変更する。 1. 「eee.txt」を変更する echo other >> eee.txt 2. 以下のコマンドを実行 hg ci hg push hg pul hg push
  59. 59. 変更履歴を確認する(3/5) 変更履歴をグラフィカルに行う 1. 以下のファイルをエディタで開く notepad %USERPROFILE%¥Mercurial.ini (Windows) vi ~/.hgrc (Linux/Mac) 2. 以下の内容を追記する [extensions] graphlog = 3. 以下のコマンドを実行 hg glog
  60. 60. 変更履歴を確認する(4/5) コマンドのデフォルト値の設定 1. 以下のファイルをエディタで開く notepad %USERPROFILE%¥Mercurial.ini (Windows) vi ~/.hgrc (Linux/Mac) 2. 以下の内容を追記する [defaults] glog = -l 3 3. 以下のコマンドを実行 hg glog
  61. 61. 変更履歴を確認する(5/5) ファイル内で行単位で過去のコミット の状態を表示する 1. 以下のコマンドを実行 hg annotate aaa.txt
  62. 62. 3.Mercurialの使い方指定リビジョンに移動 リポジトリの中 を移動する。
  63. 63. 指定リビジョンに移動(2/2) 過去のコミットの状態に移動する 1. 以下のコマンドを実行 hg glog 2. 以下のコマンドを実行 hg up -clean -r [リビジョン番号] hg glog hg sum
  64. 64. 指定リビジョンに移動(2/2) 過去のコミットの状態に移動する 1. 「bbb.txt」を変更する echo myself >> bbb.txt 2. 以下のコマンドを実行 hg ci hg glog 3. 以下のコマンドを実行 hg merge -r [もう一つの分岐先] hg glog
  65. 65. 3.Mercurialの使い方 タグ付け リポジトリの ある位置に タグを付与する。
  66. 66. タグ付け tagコマンドを利用する事である時点 のコミットに名前を付ける事が可能に なります。 1. 以下のコマンドを実行 hg tag [タグラベル] hg tags tagコマンドの使い所としては、バー ジョンの区切りを示すのに使ったりし ます。
  67. 67. 3.Mercurialの使い方 エクスポート リポジトリの内容 をファイル出力する。
  68. 68. エクスポート(1/1) myselfの内容をZIP書庫に出力する 1. 以下のコマンドを実行(例:リポジトリ 全部) hg archive -r tip -t zip ../export.zip 2. 以下のコマンドを実行(例:dddフォルダ のみ) hg archive -r tip -t zip ../export.zip -I ./ddd
  69. 69. 3.Mercurialの使い方1. (分散)バージョン管理システムとは2. Mercurialとは3. Mercurialの使い方(実習)4. まとめ
  70. 70. 4.まとめ(1/2) 一連の動作を実際に確かめてみて如何 でしたでしょうか? 今回は本当に初歩の部分しかやらな かったので、現場で導入する場合には、 共有リポジトリは別PCとなるのでどの ように設定すべきなのか、という問題 があります。 まずは自分の環境のみでコツコツ使っ てみましょう。
  71. 71. 4.まとめ(2/2) 今回色々とextensionも利用しながら ハンズオンを行いました。 次なるステップとしては、rebaseや bookmarkといったextensionを使いこ なす事で、共有リポジトリを見やすい 状態に保つ事にチャレンジしてみま しょう。

×