SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
「水銀中毒に注意!」
 Mercurialのご紹介




    http://www.flickr.com/photos/lepimento/5607768702/
自己紹介
●   名前:湯川 航
●   Twitter:http://twitter.com/#!/wyukawa
●   ブログ:http://d.hatena.ne.jp/wyukawa/
●   VCS利用歴
    CVS→Subversion(いまココ)→Mercurial?
●   Mercurialを選んだきっかけ
    Windowsに優しいらしいのとTortoiseHgがよさ
    げだったので(2.0になってちょっと微妙)
●   現状のMercurial使用状況
    職場ではSubversionなのでローカルでのドキュ
    メント管理にちろっと使うぐらい。。。
Mercurialとは


Pythonで作られた分散バージョン管理ソフト


     Joel Spolskyもイチオシ




GoogleやATLASSIANなどがスポンサー
Mercurialの特徴
Subversionとコマンドが似ているので覚えやすい
          Mercurial       Subversion
 追加       hg add          svn add
 コミット     hg commit(ci)   svn commit(ci)
 更新       hg update(up)   svn update(up)
 差分表示     hg diff(di)     svn diff(di)
 マージ      hg merge        svn merge
 取り消し     hg revert       svn revert
 ログ       hg log          svn log
 状態表示     hg status(st)   svn status(st)

コマンドが単機能でオプションが少ない
基本的には使いやすい
Mercurialだが混乱する
  ポイントが2つある
ブランチの切り替えはhg update

         hg update ブランチ名

Subversionならswitchコマンドに相当する。hg
updateはリビジョンの更新とブランチの切り替え
の両方の機能を持つ。

   hg update = svn update + svn switch
Multiple Heads




svnだとupdateで昔(r310)に戻ってのコミット
(r318)はできないが、hgだとできるため複数の
Head(r317,r318)を持つことになる。エラーとい
うわけではなく、必要に応じてマージして解消
する。
以上で基本機能の紹介は終わ
りですが、DVCSといえば歴史
改変ですよね。Mercurialは
標準では歴史改変できません
がMQという拡張機能を使えば
     できます。
MQを用いた歴史改変
リビジョンの取り消し

 hg strip リビジョン


取り消したリビジョンは.hg¥strip-backup
¥チェンジセットID-backup.hgにバックアップ
されるので復旧可能


他にもコミットコメントの修正や、コミットの並
び替えもできるけど結構面倒
まとめ
●   Subversionに慣れている人ならMercurialは使
    いやすい
●   混乱ポイントはhg updateとMultiple Heads
●   歴史改変はMQを使う

Contenu connexe

Tendances

initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
 
Mercurialコマンドの紹介
Mercurialコマンドの紹介Mercurialコマンドの紹介
Mercurialコマンドの紹介
Tsutomu Takeuchi
 
SVN経験者のためのGIT入門
SVN経験者のためのGIT入門SVN経験者のためのGIT入門
SVN経験者のためのGIT入門
AimingStudy
 

Tendances (19)

Hachiojipm 44
Hachiojipm 44Hachiojipm 44
Hachiojipm 44
 
SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理SVNのすすめ&Redmineでプロジェクト管理
SVNのすすめ&Redmineでプロジェクト管理
 
Go+revel
Go+revelGo+revel
Go+revel
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
Mercurialコマンドの紹介
Mercurialコマンドの紹介Mercurialコマンドの紹介
Mercurialコマンドの紹介
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
できるBGP! IHANet Meeting 11@うどん県(小豆島)でVyOSでpeerしてみた~初心者向け~
 
SVN入門
SVN入門SVN入門
SVN入門
 
第6回鹿児島node.jsの会資料_内村
第6回鹿児島node.jsの会資料_内村第6回鹿児島node.jsの会資料_内村
第6回鹿児島node.jsの会資料_内村
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
カーネルモジュールプログラミング超入門 #1(仮)
カーネルモジュールプログラミング超入門 #1(仮)カーネルモジュールプログラミング超入門 #1(仮)
カーネルモジュールプログラミング超入門 #1(仮)
 
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について
 
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft floatTricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
 
SVN経験者のためのGIT入門
SVN経験者のためのGIT入門SVN経験者のためのGIT入門
SVN経験者のためのGIT入門
 
B lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめB lack jumbodog 運転と改造のすすめ
B lack jumbodog 運転と改造のすすめ
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
 
openSUSE におけるパッケージ管理入門
openSUSE におけるパッケージ管理入門openSUSE におけるパッケージ管理入門
openSUSE におけるパッケージ管理入門
 

Similaire à Osc mercurial-public

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
 

Similaire à Osc mercurial-public (15)

dvcs-kyoto
dvcs-kyotodvcs-kyoto
dvcs-kyoto
 
分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
Mercurial入門(前半)
Mercurial入門(前半)Mercurial入門(前半)
Mercurial入門(前半)
 
Iosched
IoschedIosched
Iosched
 
Fluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent BitFluentd1.2 & Fluent Bit
Fluentd1.2 & Fluent Bit
 
boot2docker upgrade
boot2docker upgradeboot2docker upgrade
boot2docker upgrade
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
Interact2016:Introduction of Hyper-V Network Virtualization ver.2
Interact2016:Introduction of Hyper-V Network Virtualization ver.2Interact2016:Introduction of Hyper-V Network Virtualization ver.2
Interact2016:Introduction of Hyper-V Network Virtualization ver.2
 
git-svnつかってみる?
git-svnつかってみる?git-svnつかってみる?
git-svnつかってみる?
 
go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるもの
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオンJAWS-UG コンテナ支部 Docker入門 10分ハンズオン
JAWS-UG コンテナ支部 Docker入門 10分ハンズオン
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 

Plus de wyukawa (19)

Presto conferencetokyo2019
Presto conferencetokyo2019Presto conferencetokyo2019
Presto conferencetokyo2019
 
Strata2017 sg
Strata2017 sgStrata2017 sg
Strata2017 sg
 
Azkaban-en
Azkaban-enAzkaban-en
Azkaban-en
 
Azkaban
AzkabanAzkaban
Azkaban
 
Upgrading from-hdp-21-to-hdp-25
Upgrading from-hdp-21-to-hdp-25Upgrading from-hdp-21-to-hdp-25
Upgrading from-hdp-21-to-hdp-25
 
Promcon2016
Promcon2016Promcon2016
Promcon2016
 
Prometheus london
Prometheus londonPrometheus london
Prometheus london
 
Presto in my_use_case2
Presto in my_use_case2Presto in my_use_case2
Presto in my_use_case2
 
Prometheus casual talk1
Prometheus casual talk1Prometheus casual talk1
Prometheus casual talk1
 
My ambariexperience
My ambariexperienceMy ambariexperience
My ambariexperience
 
Prometheus
PrometheusPrometheus
Prometheus
 
Upgrading from-hdp-21-to-hdp-24
Upgrading from-hdp-21-to-hdp-24Upgrading from-hdp-21-to-hdp-24
Upgrading from-hdp-21-to-hdp-24
 
Presto in my_use_case
Presto in my_use_casePresto in my_use_case
Presto in my_use_case
 
Hive sourcecodereading
Hive sourcecodereadingHive sourcecodereading
Hive sourcecodereading
 
Hdfs write
Hdfs writeHdfs write
Hdfs write
 
Dvcs study
Dvcs studyDvcs study
Dvcs study
 
Hudson study-zen
Hudson study-zenHudson study-zen
Hudson study-zen
 
Shibuya.trac.8
Shibuya.trac.8Shibuya.trac.8
Shibuya.trac.8
 
Hudson tanabata.trac
Hudson tanabata.tracHudson tanabata.trac
Hudson tanabata.trac
 

Osc mercurial-public