SlideShare a Scribd company logo
1 of 42
Download to read offline
プログラミング生放送 勉強会   第13回@愛媛

MERCURIAL入門

                    2012年03月31日(土) You&I
ダレ、イッタイ。
 H/N   You&I(読み:ユーアンドアイ)
 出身    生まれも育ちも名古屋市
 年齢    30代中盤
 本職    商学部出身の職業プログラマ
 言語    C++, C#, VisualBasic6.0, 日本語COBOL
 日記    http://d.hatena.ne.jp/youandi/
 所属    プログラミング生放送 名古屋支部
        名古屋アジャイル勉強会
        わんくま同盟
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
1.DVCSとは(1/5)

   バージョン管理システム(VCS:Version
    Control System)とは、以下のようなファイ
    ルの履歴を記録・管理するシステムの事。
     いつ変更したのか

     誰が変更したのか

     何の為に変更したのか

     何を変更したのか

     どのように変更したのか
1.DVCSとは(2/5)

   VCSを利用する事で以下の事が容易になりま
    す。
     最新状態を知る

     過去の状態に戻す

     複数構成の管理

   VCSはソフトウェア構成管理(SCM: Software
    Configuration Management)の一部を担うも
    のです。
1.DVCSとは(3/5)

   VCSの構成
    1.   VCSの履歴管理用ファイル・フォルダ
        一般的にリポジトリと呼ばれます。
        通常はリポジトリは1つ。詳細は後述。
    2.   VCSのコマンド・ツール群
        利用するVCSによってコマンド体系は様々です。
        コマンドラインツールが基本となります。
    3.   VCSの設定ファイル
1.DVCSとは(4/5)

   VCSの歴史
    1.   ローカル環境
        SCCS, RCS
        PVCS
    2.   サーバ-・クライアント方式
        CVS, Subversion
        VSS, ClearCase, Perforce, TFS, RTC
    3.   分散リビジョン管理方式
        GNU arch, Darcs, Git, Mercurial, Bazaar
        BitKeeper
1.DVCSとは(5/5)

   分散バージョン管理システムとは
     通常のVCSではリポジトリから一時的な作業用に
      ファイルをチェックアウトする。
     分散バージョン管理システム(DVCS:
      Distributed VCS)では、リポジトリは1つでは無
      く、複製されて複数存在する。
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
2.MERCURIALとは(1/2)

 読み:マーキュリアル
 開発開始:2005年4月~

 公式サイト:http://mercurial.selenic.com

 開発言語:Python(一部C言語)

 Mercury(水銀)からコマンド名は元素記号の
  hgが使われている
2.MERCURIALとは(2/2)

   クロスプラットフォームサポート
     Windows,   Linux, MacOSX, Solaris, *BSD
 Subversionを使った事があるとコマンドが似
  ているので覚えやすい
 プラグインで機能拡張が可能



   要は、色々使えて覚えやすい。それ以外に理
    由は要らないですよね?
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
3.BITBUCKETとは(1/2)

   Mercurialのホスティングサービス
     https://bitbucket.org/

   5ユーザーまでは無料で利用可能
     ユーザー数で課金するビジネスモデル

     https://bitbucket.org/plans

 Public/Privateリポジトリの作成数は無制限
 MercurialからはHTTPS/SSHでアクセスする
3.BITBUCKETとは(2/2)

   Bitbucketの情報
     運営    :アトラシアン社
     URL   :https://bitbucket.org/
     対応VCS :Mercurial, git
     無料の範囲 :5ユーザーまで。リポジトリの作

             成数、データ容量に制限なし。
     その他機能 :BTS, Wiki, CodeReview, fork
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
4.MERCURIALの設定(1/3)

   公式サイトから各環境向けのインストーラー
    を入手する。
     http://mercurial.selenic.com

 Diffツールのインストール状態
     Windows
      WinMergeをインストール

     Linux/Mac
      vimdiff,   merge, diff3, gvim
4.MERCURIALの設定(2/3)

 まずは、ターミナルコンソール・コマンドプ
  ロンプトを起動しましょう。
 以下の指示に従って下さい。
    1.   以下のコマンドを実行
         hg   version
    2.   以下のコマンドを実行
         hg   versio
    3.   以下のコマンドを実行
         hg   vers
4.MERCURIALの設定(3/3)

 このようにMercurialのコマンドは、コマン
  ドの省略が可能となります。
 どこまで省略できるかは、似た名前のコマン
  ドが存在するか否かで決定されますので、コ
  マンドを実行して覚えましょう。
    1.   以下のコマンドを実行(Windowsのみ)
         set LANG=ja
         hg vers
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
5.BITBUCKETの設定(1/8)

   Bitbucketは英語のユーザーインターフェー
    スしか有りませんが、日本語のヘルプがアト
    ラシアン社から提供されています。
    http://confluence.atlassian.co.jp/display/BITBUCKET
5.BITBUCKETの設定(2/8)

   アカウントの作成
     https://bitbucket.org/
                   にアクセスしましょう。
     FREEプランを選択しましょう。
5.BITBUCKETの設定(3/8)

   アカウントの作成
     必要情報を入力しましょう。




     Sign   upを押下すると認証メールが送信されます
5.BITBUCKETの設定(4/8)

   リポジトリの作成
     メニューから選択しましょう。




     必要情報を入力すると、リポジトリが作成され
    ます。
5.BITBUCKETの設定(5/8)

   リポジトリのclone
     リポジトリをcloneする為のコマンドはリポジト
     リ画面に表示されています。そのまま実行しま
     しょう。(必ずHTTPSを選択して下さい)




     ※IDとPasswordの入力を求められます。
     BitbucketのユーザーIDとパスワードを入力して
     下さい。
5.BITBUCKETの設定(6/8)

   ローカルリポジトリの変更
     cloneしたリポジトリで何か変更を加えましょう。
      echo  hogehoge > test.txt
      hg add test.txt
      hg ci

     Bitbucketのリポジトリにローカルの変更分を
     pushしましょう
      hgpush
      ※IDとPasswordの入力を求められます。Bitbucketの
       ユーザーIDとパスワードを入力して下さい。
5.BITBUCKETの設定(7/8)

 Bitbucketにはfollow/fork機能があります。
 followする
     Bitbucket上で公開されているプロダクトの更新
     状況の通知を受け取る事が可能になる。
   forkする
     Bitbucket上で公開されているプロダクトに自分
      独自の変更を入れる場合に利用する。
     fork元に自分の変更を伝えやすくなる。
5.BITBUCKETの設定(8/8)

   利用事例 – PCUnit by @katono123さん
     https://bitbucket.org/katono/pcunit
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
6.MERCURIALのデモ




    デモします
6.MERCURIALのデモ

 今回はコマンドの説明はあまり細かくしませ
  ん。
 コマンドを覚えるのに便利なチートシートと
  いう物があります。
 http://devcheatsheet.com/tag/mercurial/

 日本語版もありますが、如何せんバージョン
  が古い。Mercurial v1.x(前半)の頃のものし
  か有りません。
6.MERCURIALのデモ(1/6)

   ちゃんとしたコマンドの説明資料は以前の勉
    強会で使ったものがあるので、そちらを参考
    にして下さい。
     http://www.slideshare.net/youandi060219/

     ハンズオンその1Mercurial入門名古屋アジャイ
      ル勉強会 分科会 開発ツール勉強会 #1
      Mercurial入門 後半資料
     mercurial-10537885
6.MERCURIALのデモ(2/6)

1.   ローカル環境の確認
     1.   hgコマンドが実行できるか
     2.   「mercurial.ini」又は「.hgrc」の確認
6.MERCURIALのデモ(3/6)

2.   ブラウザでbitbucketにログイン
3.   ブラウザ上でリポジトリを作成
4.   ローカル環境にリポジトリをクローン
        今回はHTTPS接続にて
6.MERCURIALのデモ(4/6)

5.   ファイルのadd
6.   ファイルのaddのキャンセル(forget)
7.   ファイルのcommit
8.   ローカルの内容をサーバーにpush
6.MERCURIALのデモ(5/6)

9.  別なファイルをaddしてcommit
10. 操作のロールバック(rollback)

11. リポジトリに登録したファイルの編集

12. 編集状態の確認(status)
6.MERCURIALのデモ(6/6)

9.  commit logの確認
10. リビジョンの移動(update)

11. 過去のリビジョンの変更による分岐

12. グラフィカルな分岐の確認(glog)

13. 分岐のmerge
6.MERCURIALのデモ(おまけ)

 VisualStudioと連携するには、VisualStudio
  用のアドオンをインストールする
 VisualStudioのMercurialアドオンHgSccを利
  用する
   http://program.g.hatena.ne.jp/youandi/20111207/p1
AGENDA

1.   DVCSとは
2.   Mercurialとは
3.   Bitbucketとは
4.   Mercurialの設定
5.   Bitbucketの設定
6.   Mercurialのデモ
7.   まとめ
7.まとめ

 HTTPS接続だと簡単に利用出来てしまいます
  ね。
 今回SSH接続の説明を省きましたが、こちら
  の設定は色々と面倒です。
 コマンド数はそんなに多くないのでまだ
  VCS/DVCSを使っていないのなら是非使ってい
  きましょう!
 コマンドの省略は便利

More Related Content

What's hot

LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるFuminobu Takeyama
 
How to Install the Dexcs2014 for OpenFOAM(R)
How to Install the Dexcs2014 for OpenFOAM(R)How to Install the Dexcs2014 for OpenFOAM(R)
How to Install the Dexcs2014 for OpenFOAM(R)Etsuji Nomura
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAMmmer547
 
Dexcs2019 of install
Dexcs2019 of installDexcs2019 of install
Dexcs2019 of installEtsuji Nomura
 
Dexcs2020-OF install
Dexcs2020-OF installDexcs2020-OF install
Dexcs2020-OF installEtsuji Nomura
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おうwataken44
 
Dexcs2018 of install
Dexcs2018 of installDexcs2018 of install
Dexcs2018 of installEtsuji Nomura
 
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築Kento Kawakami
 
Dexcs2017 of install
Dexcs2017 of installDexcs2017 of install
Dexcs2017 of installEtsuji Nomura
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinuxTokai University
 
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編Fuminobu Takeyama
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-hakoika-itwg
 
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioqpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioTakeshi HASEGAWA
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールstebee19
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)将 高野
 
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用Tomokazu Kizawa
 

What's hot (20)

LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみるLTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
LTS & ローリングリリース! ― ランキング4位のLinuxディストリビューション openSUSE を Azure で使ってみる
 
How to Install the Dexcs2014 for OpenFOAM(R)
How to Install the Dexcs2014 for OpenFOAM(R)How to Install the Dexcs2014 for OpenFOAM(R)
How to Install the Dexcs2014 for OpenFOAM(R)
 
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
2019年 これからの人向け 超速習!流体解析ツールボックスOpenFOAM
 
Dexcs2019 of install
Dexcs2019 of installDexcs2019 of install
Dexcs2019 of install
 
Dexcs2020-OF install
Dexcs2020-OF installDexcs2020-OF install
Dexcs2020-OF install
 
Hyper-V を使おう
Hyper-V を使おうHyper-V を使おう
Hyper-V を使おう
 
Dexcs2018 of install
Dexcs2018 of installDexcs2018 of install
Dexcs2018 of install
 
openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築openSUSEの紹介とサーバ構築
openSUSEの紹介とサーバ構築
 
Dexcs2017 of install
Dexcs2017 of installDexcs2017 of install
Dexcs2017 of install
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
 
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Cuis Smalltalkの紹介
Cuis Smalltalkの紹介Cuis Smalltalkの紹介
Cuis Smalltalkの紹介
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
 
qpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtioqpstudy05 lignhing talk - virtio
qpstudy05 lignhing talk - virtio
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストール
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)
 
SVN入門
SVN入門SVN入門
SVN入門
 
Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用Windows8活用研究2 2013-01-26-公開用
Windows8活用研究2 2013-01-26-公開用
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 

Similar to Mercurial入門

OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5Tsukasa Sugiura
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたAkihito Inoh
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
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
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50Preferred Networks
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows ContainersKazuki Takai
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)シスコシステムズ合同会社
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)NTT DATA Technology & Innovation
 
Microsoft Tunnel 概要
Microsoft Tunnel 概要Microsoft Tunnel 概要
Microsoft Tunnel 概要Yutaro Tamai
 
GitLab Auto DevOps with Container CI/CD
GitLab Auto DevOps with Container CI/CDGitLab Auto DevOps with Container CI/CD
GitLab Auto DevOps with Container CI/CDShingo Kitayama
 

Similar to Mercurial入門 (20)

Bitbucket入門
Bitbucket入門Bitbucket入門
Bitbucket入門
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
Code ignitertalk 01
Code ignitertalk 01Code ignitertalk 01
Code ignitertalk 01
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
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編
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
Mercurial入門(前半)
Mercurial入門(前半)Mercurial入門(前半)
Mercurial入門(前半)
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
 
Getting started with Windows Containers
Getting started with Windows ContainersGetting started with Windows Containers
Getting started with Windows Containers
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
 
Microsoft Tunnel 概要
Microsoft Tunnel 概要Microsoft Tunnel 概要
Microsoft Tunnel 概要
 
GitLab Auto DevOps with Container CI/CD
GitLab Auto DevOps with Container CI/CDGitLab Auto DevOps with Container CI/CD
GitLab Auto DevOps with Container CI/CD
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 

Mercurial入門

  • 1. プログラミング生放送 勉強会 第13回@愛媛 MERCURIAL入門 2012年03月31日(土) You&I
  • 2. ダレ、イッタイ。  H/N You&I(読み:ユーアンドアイ)  出身 生まれも育ちも名古屋市  年齢 30代中盤  本職 商学部出身の職業プログラマ  言語 C++, C#, VisualBasic6.0, 日本語COBOL  日記 http://d.hatena.ne.jp/youandi/  所属 プログラミング生放送 名古屋支部 名古屋アジャイル勉強会 わんくま同盟
  • 3. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 4. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 5. 1.DVCSとは(1/5)  バージョン管理システム(VCS:Version Control System)とは、以下のようなファイ ルの履歴を記録・管理するシステムの事。  いつ変更したのか  誰が変更したのか  何の為に変更したのか  何を変更したのか  どのように変更したのか
  • 6. 1.DVCSとは(2/5)  VCSを利用する事で以下の事が容易になりま す。  最新状態を知る  過去の状態に戻す  複数構成の管理  VCSはソフトウェア構成管理(SCM: Software Configuration Management)の一部を担うも のです。
  • 7. 1.DVCSとは(3/5)  VCSの構成 1. VCSの履歴管理用ファイル・フォルダ  一般的にリポジトリと呼ばれます。  通常はリポジトリは1つ。詳細は後述。 2. VCSのコマンド・ツール群  利用するVCSによってコマンド体系は様々です。  コマンドラインツールが基本となります。 3. VCSの設定ファイル
  • 8. 1.DVCSとは(4/5)  VCSの歴史 1. ローカル環境  SCCS, RCS  PVCS 2. サーバ-・クライアント方式  CVS, Subversion  VSS, ClearCase, Perforce, TFS, RTC 3. 分散リビジョン管理方式  GNU arch, Darcs, Git, Mercurial, Bazaar  BitKeeper
  • 9. 1.DVCSとは(5/5)  分散バージョン管理システムとは  通常のVCSではリポジトリから一時的な作業用に ファイルをチェックアウトする。  分散バージョン管理システム(DVCS: Distributed VCS)では、リポジトリは1つでは無 く、複製されて複数存在する。
  • 10. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 11. 2.MERCURIALとは(1/2)  読み:マーキュリアル  開発開始:2005年4月~  公式サイト:http://mercurial.selenic.com  開発言語:Python(一部C言語)  Mercury(水銀)からコマンド名は元素記号の hgが使われている
  • 12. 2.MERCURIALとは(2/2)  クロスプラットフォームサポート  Windows, Linux, MacOSX, Solaris, *BSD  Subversionを使った事があるとコマンドが似 ているので覚えやすい  プラグインで機能拡張が可能  要は、色々使えて覚えやすい。それ以外に理 由は要らないですよね?
  • 13. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 14. 3.BITBUCKETとは(1/2)  Mercurialのホスティングサービス  https://bitbucket.org/  5ユーザーまでは無料で利用可能  ユーザー数で課金するビジネスモデル  https://bitbucket.org/plans  Public/Privateリポジトリの作成数は無制限  MercurialからはHTTPS/SSHでアクセスする
  • 15. 3.BITBUCKETとは(2/2)  Bitbucketの情報  運営 :アトラシアン社  URL :https://bitbucket.org/  対応VCS :Mercurial, git  無料の範囲 :5ユーザーまで。リポジトリの作 成数、データ容量に制限なし。  その他機能 :BTS, Wiki, CodeReview, fork
  • 16. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 17. 4.MERCURIALの設定(1/3)  公式サイトから各環境向けのインストーラー を入手する。  http://mercurial.selenic.com  Diffツールのインストール状態  Windows WinMergeをインストール  Linux/Mac vimdiff, merge, diff3, gvim
  • 18. 4.MERCURIALの設定(2/3)  まずは、ターミナルコンソール・コマンドプ ロンプトを起動しましょう。  以下の指示に従って下さい。 1. 以下のコマンドを実行 hg version 2. 以下のコマンドを実行 hg versio 3. 以下のコマンドを実行 hg vers
  • 19. 4.MERCURIALの設定(3/3)  このようにMercurialのコマンドは、コマン ドの省略が可能となります。  どこまで省略できるかは、似た名前のコマン ドが存在するか否かで決定されますので、コ マンドを実行して覚えましょう。 1. 以下のコマンドを実行(Windowsのみ) set LANG=ja hg vers
  • 20. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 21. 5.BITBUCKETの設定(1/8)  Bitbucketは英語のユーザーインターフェー スしか有りませんが、日本語のヘルプがアト ラシアン社から提供されています。 http://confluence.atlassian.co.jp/display/BITBUCKET
  • 22. 5.BITBUCKETの設定(2/8)  アカウントの作成  https://bitbucket.org/ にアクセスしましょう。  FREEプランを選択しましょう。
  • 23. 5.BITBUCKETの設定(3/8)  アカウントの作成  必要情報を入力しましょう。  Sign upを押下すると認証メールが送信されます
  • 24. 5.BITBUCKETの設定(4/8)  リポジトリの作成  メニューから選択しましょう。  必要情報を入力すると、リポジトリが作成され ます。
  • 25. 5.BITBUCKETの設定(5/8)  リポジトリのclone  リポジトリをcloneする為のコマンドはリポジト リ画面に表示されています。そのまま実行しま しょう。(必ずHTTPSを選択して下さい)  ※IDとPasswordの入力を求められます。 BitbucketのユーザーIDとパスワードを入力して 下さい。
  • 26. 5.BITBUCKETの設定(6/8)  ローカルリポジトリの変更  cloneしたリポジトリで何か変更を加えましょう。  echo hogehoge > test.txt  hg add test.txt  hg ci  Bitbucketのリポジトリにローカルの変更分を pushしましょう  hgpush  ※IDとPasswordの入力を求められます。Bitbucketの ユーザーIDとパスワードを入力して下さい。
  • 27. 5.BITBUCKETの設定(7/8)  Bitbucketにはfollow/fork機能があります。  followする  Bitbucket上で公開されているプロダクトの更新 状況の通知を受け取る事が可能になる。  forkする  Bitbucket上で公開されているプロダクトに自分 独自の変更を入れる場合に利用する。  fork元に自分の変更を伝えやすくなる。
  • 28. 5.BITBUCKETの設定(8/8)  利用事例 – PCUnit by @katono123さん  https://bitbucket.org/katono/pcunit
  • 29. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 30. 6.MERCURIALのデモ デモします
  • 31. 6.MERCURIALのデモ  今回はコマンドの説明はあまり細かくしませ ん。  コマンドを覚えるのに便利なチートシートと いう物があります。  http://devcheatsheet.com/tag/mercurial/  日本語版もありますが、如何せんバージョン が古い。Mercurial v1.x(前半)の頃のものし か有りません。
  • 32.
  • 33.
  • 34. 6.MERCURIALのデモ(1/6)  ちゃんとしたコマンドの説明資料は以前の勉 強会で使ったものがあるので、そちらを参考 にして下さい。  http://www.slideshare.net/youandi060219/  ハンズオンその1Mercurial入門名古屋アジャイ ル勉強会 分科会 開発ツール勉強会 #1 Mercurial入門 後半資料  mercurial-10537885
  • 35. 6.MERCURIALのデモ(2/6) 1. ローカル環境の確認 1. hgコマンドが実行できるか 2. 「mercurial.ini」又は「.hgrc」の確認
  • 36. 6.MERCURIALのデモ(3/6) 2. ブラウザでbitbucketにログイン 3. ブラウザ上でリポジトリを作成 4. ローカル環境にリポジトリをクローン  今回はHTTPS接続にて
  • 37. 6.MERCURIALのデモ(4/6) 5. ファイルのadd 6. ファイルのaddのキャンセル(forget) 7. ファイルのcommit 8. ローカルの内容をサーバーにpush
  • 38. 6.MERCURIALのデモ(5/6) 9. 別なファイルをaddしてcommit 10. 操作のロールバック(rollback) 11. リポジトリに登録したファイルの編集 12. 編集状態の確認(status)
  • 39. 6.MERCURIALのデモ(6/6) 9. commit logの確認 10. リビジョンの移動(update) 11. 過去のリビジョンの変更による分岐 12. グラフィカルな分岐の確認(glog) 13. 分岐のmerge
  • 40. 6.MERCURIALのデモ(おまけ)  VisualStudioと連携するには、VisualStudio 用のアドオンをインストールする  VisualStudioのMercurialアドオンHgSccを利 用する  http://program.g.hatena.ne.jp/youandi/20111207/p1
  • 41. AGENDA 1. DVCSとは 2. Mercurialとは 3. Bitbucketとは 4. Mercurialの設定 5. Bitbucketの設定 6. Mercurialのデモ 7. まとめ
  • 42. 7.まとめ  HTTPS接続だと簡単に利用出来てしまいます ね。  今回SSH接続の説明を省きましたが、こちら の設定は色々と面倒です。  コマンド数はそんなに多くないのでまだ VCS/DVCSを使っていないのなら是非使ってい きましょう!  コマンドの省略は便利