Commits

Takumi IINO committed 8cc99bb

add mercurial-cheatsheet

Comments (0)

Files changed (3)

+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="ja" xml:lang="ja">
+<head>
+<title>Mercurial チートシート</title>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="2011-03-06 22:51:03 "/>
+<meta name="author" content="Takumi IINO (troter)"/>
+<meta name="description" content=""/>
+<meta name="keywords" content=""/>
+<style type="text/css">
+ <!--/*--><![CDATA[/*><!--*/
+  html { font-family: Times, serif; font-size: 12pt; }
+  .title  { text-align: center; }
+  .todo   { color: red; }
+  .done   { color: green; }
+  .tag    { background-color: #add8e6; font-weight:normal }
+  .target { }
+  .timestamp { color: #bebebe; }
+  .timestamp-kwd { color: #5f9ea0; }
+  p.verse { margin-left: 3% }
+  pre {
+	border: 1pt solid #AEBDCC;
+	background-color: #F3F5F7;
+	padding: 5pt;
+	font-family: courier, monospace;
+        font-size: 90%;
+        overflow:auto;
+  }
+  table { border-collapse: collapse; }
+  td, th { vertical-align: top; }
+  dt { font-weight: bold; }
+  div.figure { padding: 0.5em; }
+  div.figure p { text-align: center; }
+  .linenr { font-size:smaller }
+  .code-highlighted {background-color:#ffff00;}
+  .org-info-js_info-navigation { border-style:none; }
+  #org-info-js_console-label { font-size:10px; font-weight:bold;
+                               white-space:nowrap; }
+  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
+                                 font-weight:bold; }
+  /*]]>*/-->
+</style>
+<link rel="stylesheet" type="text/css" href="org-mode-document.css" />
+<script type="text/javascript">
+<!--/*--><![CDATA[/*><!--*/
+ function CodeHighlightOn(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(null != target) {
+     elem.cacheClassElem = elem.className;
+     elem.cacheClassTarget = target.className;
+     target.className = "code-highlighted";
+     elem.className   = "code-highlighted";
+   }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(elem.cacheClassElem)
+     elem.className = elem.cacheClassElem;
+   if(elem.cacheClassTarget)
+     target.className = elem.cacheClassTarget;
+ }
+/*]]>*///-->
+</script>
+</head>
+<body>
+<div id="content">
+
+<h1 class="title">Mercurial チートシート</h1>
+
+
+
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#sec-1">1 はじめに </a></li>
+<li><a href="#sec-2">2 Mercurialとは </a></li>
+<li><a href="#sec-3">3 最初の設定 </a>
+<ul>
+<li><a href="#sec-3.1">3.1 設定ファイルの場所 </a></li>
+<li><a href="#sec-3.2">3.2 ユーザ名の設定 </a></li>
+</ul>
+</li>
+<li><a href="#sec-4">4 help </a>
+<ul>
+<li><a href="#sec-4.1">4.1 hgのhelp </a></li>
+<li><a href="#sec-4.2">4.2 サブコマンドのhelp </a></li>
+<li><a href="#sec-4.3">4.3 グローバルオプションを表示 </a></li>
+</ul>
+</li>
+<li><a href="#sec-5">5 リポジトリを用意する </a>
+<ul>
+<li><a href="#sec-5.1">5.1 リポジトリの新規作成(hg init) </a></li>
+<li><a href="#sec-5.2">5.2 リポジトリのクローン(hg clone) </a></li>
+</ul>
+</li>
+<li><a href="#sec-6">6 確認を行うコマンド </a>
+<ul>
+<li><a href="#sec-6.1">6.1 コミットログを確認する(hg log) </a></li>
+<li><a href="#sec-6.2">6.2 サマリー(hg summary) </a></li>
+<li><a href="#sec-6.3">6.3 現在のリビジョン(hg parents) </a></li>
+<li><a href="#sec-6.4">6.4 最新のリビジョン(hg tip) </a></li>
+<li><a href="#sec-6.5">6.5 現在のブランチ(hg branch) </a></li>
+<li><a href="#sec-6.6">6.6 ブランチの一覧とブランチ毎の最新のリビジョン(hg branches) </a></li>
+</ul>
+</li>
+<li><a href="#sec-7">7 移動を行うコマンド </a>
+<ul>
+<li><a href="#sec-7.1">7.1 指定したリビジョンに移動(hg update [REV]) </a></li>
+<li><a href="#sec-7.2">7.2 最新のリビジョンに移動(hg update) </a></li>
+<li><a href="#sec-7.3">7.3 ブランチの移動(hg update [BRANCH]) </a></li>
+</ul>
+</li>
+<li><a href="#sec-8">8 ファイルの操作 </a>
+<ul>
+<li><a href="#sec-8.1">8.1 ファイルを追加する(hg add) </a></li>
+<li><a href="#sec-8.2">8.2 コミットする(hg commit) </a></li>
+<li><a href="#sec-8.3">8.3 変更を確認する(hg diff) </a></li>
+<li><a href="#sec-8.4">8.4 変更されたファイル一覧(hg status) </a></li>
+<li><a href="#sec-8.5">8.5 コミットを取り消す(hg rollback) </a></li>
+</ul>
+</li>
+<li><a href="#sec-9">9 用語 </a></li>
+<li><a href="#sec-10">10 その他読むべき文献 </a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> はじめに </h2>
+<div class="outline-text-2" id="text-1">
+
+<p>mercurialのチートシートがgithubに上がっていることに疑問を覚えないこと。
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> Mercurialとは </h2>
+<div class="outline-text-2" id="text-2">
+
+<p>TODO:
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> 最初の設定 </h2>
+<div class="outline-text-2" id="text-3">
+
+
+</div>
+
+<div id="outline-container-3.1" class="outline-3">
+<h3 id="sec-3.1"><span class="section-number-3">3.1</span> 設定ファイルの場所 </h3>
+<div class="outline-text-3" id="text-3.1">
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<caption></caption>
+<colgroup><col align="left" /><col align="left" />
+</colgroup>
+<thead>
+<tr><th scope="col">Windows</th><th scope="col">Linux/MacOSX/Cygwin</th></tr>
+</thead>
+<tbody>
+<tr><td>%USERPROFILE%\Mercurial.ini</td><td>$HOME/.hgrc</td></tr>
+</tbody>
+</table>
+
+
+</div>
+
+</div>
+
+<div id="outline-container-3.2" class="outline-3">
+<h3 id="sec-3.2"><span class="section-number-3">3.2</span> ユーザ名の設定 </h3>
+<div class="outline-text-3" id="text-3.2">
+
+<p>設定ファイルに次の項目を追加します。
+</p>
+
+
+<pre class="example">[ui]
+username=Takumi IINO &lt;takumi@timedia.co.jp&gt;
+</pre>
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4"><span class="section-number-2">4</span> help </h2>
+<div class="outline-text-2" id="text-4">
+
+
+</div>
+
+<div id="outline-container-4.1" class="outline-3">
+<h3 id="sec-4.1"><span class="section-number-3">4.1</span> hgのhelp </h3>
+<div class="outline-text-3" id="text-4.1">
+
+
+
+
+<pre class="example">% hg help
+</pre>
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-4.2" class="outline-3">
+<h3 id="sec-4.2"><span class="section-number-3">4.2</span> サブコマンドのhelp </h3>
+<div class="outline-text-3" id="text-4.2">
+
+
+
+
+<pre class="example">% hg help &lt;sub command&gt; 
+% hg help help           # helpのhelpを表示
+</pre>
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-4.3" class="outline-3">
+<h3 id="sec-4.3"><span class="section-number-3">4.3</span> グローバルオプションを表示 </h3>
+<div class="outline-text-3" id="text-4.3">
+
+<p>hgのオプションに-vを追加する
+</p>
+
+
+<pre class="example">% hg -v help log
+</pre>
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> リポジトリを用意する </h2>
+<div class="outline-text-2" id="text-5">
+
+
+</div>
+
+<div id="outline-container-5.1" class="outline-3">
+<h3 id="sec-5.1"><span class="section-number-3">5.1</span> リポジトリの新規作成(hg init) </h3>
+<div class="outline-text-3" id="text-5.1">
+
+
+
+
+<pre class="example">% mkdir hello
+% cd hello
+% hg init
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-5.2" class="outline-3">
+<h3 id="sec-5.2"><span class="section-number-3">5.2</span> リポジトリのクローン(hg clone) </h3>
+<div class="outline-text-3" id="text-5.2">
+
+
+
+
+<pre class="example">% hg clone http://selenic.com/hg mercurial-repo
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 13537 changesets with 26617 changes to 1971 files
+updating to branch default
+872 files updated, 0 files merged, 0 files removed, 0 files unresolved
+$
+</pre>
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> 確認を行うコマンド </h2>
+<div class="outline-text-2" id="text-6">
+
+
+
+</div>
+
+<div id="outline-container-6.1" class="outline-3">
+<h3 id="sec-6.1"><span class="section-number-3">6.1</span> コミットログを確認する(hg log) </h3>
+<div class="outline-text-3" id="text-6.1">
+
+
+
+
+<pre class="example">% hg log       # 全てのログを表示
+% hg log -l 10 # 最新10個のログを表示
+% hg log -l 10 --branch default # ブランチを指定してログを表示
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-6.2" class="outline-3">
+<h3 id="sec-6.2"><span class="section-number-3">6.2</span> サマリー(hg summary) </h3>
+<div class="outline-text-3" id="text-6.2">
+
+
+
+
+<pre class="example">% hg summary
+parent: 13536:fac040b7e822 tip
+ merge: drop resolve state for mergers with identical contents (issue2680)
+branch: default
+commit: (clean)
+update: (current)
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-6.3" class="outline-3">
+<h3 id="sec-6.3"><span class="section-number-3">6.3</span> 現在のリビジョン(hg parents) </h3>
+<div class="outline-text-3" id="text-6.3">
+
+
+
+
+<pre class="example">% hg parents
+changeset:   13536:fac040b7e822
+tag:         tip
+user:        Matt Mackall &lt;mpm@selenic.com&gt;
+date:        Sat Mar 05 16:34:59 2011 -0600
+summary:     merge: drop resolve state for mergers with identical contents (issue2680)
+
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-6.4" class="outline-3">
+<h3 id="sec-6.4"><span class="section-number-3">6.4</span> 最新のリビジョン(hg tip) </h3>
+<div class="outline-text-3" id="text-6.4">
+
+
+
+
+<pre class="example">% hg tip
+changeset:   13536:fac040b7e822
+tag:         tip
+user:        Matt Mackall &lt;mpm@selenic.com&gt;
+date:        Sat Mar 05 16:34:59 2011 -0600
+summary:     merge: drop resolve state for mergers with identical contents (issue2680)
+
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-6.5" class="outline-3">
+<h3 id="sec-6.5"><span class="section-number-3">6.5</span> 現在のブランチ(hg branch) </h3>
+<div class="outline-text-3" id="text-6.5">
+
+
+
+
+<pre class="example">% hg branch
+default
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-6.6" class="outline-3">
+<h3 id="sec-6.6"><span class="section-number-3">6.6</span> ブランチの一覧とブランチ毎の最新のリビジョン(hg branches) </h3>
+<div class="outline-text-3" id="text-6.6">
+
+
+
+
+<pre class="example">% hg branches
+default                    13536:fac040b7e822
+stable                     13534:4ec34de8bbb1 (inactive)
+%
+</pre>
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-7" class="outline-2">
+<h2 id="sec-7"><span class="section-number-2">7</span> 移動を行うコマンド </h2>
+<div class="outline-text-2" id="text-7">
+
+
+</div>
+
+<div id="outline-container-7.1" class="outline-3">
+<h3 id="sec-7.1"><span class="section-number-3">7.1</span> 指定したリビジョンに移動(hg update [REV]) </h3>
+<div class="outline-text-3" id="text-7.1">
+
+
+
+
+<pre class="example">% hg update [リビジョン]
+</pre>
+
+
+
+
+<pre class="example">% hg parent --template "{rev}\n"
+13536
+% hg update 13524 # リビジョン 13520に移動
+10 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg parent --template "{rev}\n"
+13524
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-7.2" class="outline-3">
+<h3 id="sec-7.2"><span class="section-number-3">7.2</span> 最新のリビジョンに移動(hg update) </h3>
+<div class="outline-text-3" id="text-7.2">
+
+
+
+
+<pre class="example">% hg update
+</pre>
+
+
+
+
+<pre class="example">% hg parent --template "{rev}\n"
+13524
+% hg update # 最新のリビジョンに移動
+10 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg parent --template "{rev}\n"
+13536
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-7.3" class="outline-3">
+<h3 id="sec-7.3"><span class="section-number-3">7.3</span> ブランチの移動(hg update [BRANCH]) </h3>
+<div class="outline-text-3" id="text-7.3">
+
+
+
+
+<pre class="example">% hg update [ブランチ名]
+</pre>
+
+
+
+
+<pre class="example">% hg branch
+default
+% hg update stable
+22 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg branch
+stable
+</pre>
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-8" class="outline-2">
+<h2 id="sec-8"><span class="section-number-2">8</span> ファイルの操作 </h2>
+<div class="outline-text-2" id="text-8">
+
+<p>操作のための新しいリポジトリを作りましょう
+</p>
+
+
+<pre class="example">% mkdir hello-repo
+% cd hello-repo
+% hg init
+</pre>
+
+
+
+
+
+</div>
+
+<div id="outline-container-8.1" class="outline-3">
+<h3 id="sec-8.1"><span class="section-number-3">8.1</span> ファイルを追加する(hg add) </h3>
+<div class="outline-text-3" id="text-8.1">
+
+
+
+
+<pre class="example">% echo 'puts "Hello, mercurial."' &gt; hello.rb
+% hg add hello.rb
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-8.2" class="outline-3">
+<h3 id="sec-8.2"><span class="section-number-3">8.2</span> コミットする(hg commit) </h3>
+<div class="outline-text-3" id="text-8.2">
+
+
+
+
+<pre class="example">% hg tip
+changeset:   -1:000000000000
+tag:         tip
+user:
+date:        Thu Jan 01 00:00:00 1970 +0000
+
+% hg commit -m "add hello.rb"
+% hg tip
+changeset:   0:c0d1b673238b
+tag:         tip
+user:        Takumi IINO &lt;takumi@timedia.co.jp&gt;
+date:        Sun Mar 06 22:27:01 2011 +0900
+summary:     add hello.rb
+
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-8.3" class="outline-3">
+<h3 id="sec-8.3"><span class="section-number-3">8.3</span> 変更を確認する(hg diff) </h3>
+<div class="outline-text-3" id="text-8.3">
+
+
+
+
+<pre class="example">% sed -i -e s/m/M/ hello.rb
+% hg diff
+diff -r c0d1b673238b hello.rb
+--- a/hello.rb  Sun Mar 06 22:27:01 2011 +0900
++++ b/hello.rb  Sun Mar 06 22:34:35 2011 +0900
+@@ -1,1 +1,1 @@
+p-puts "Hello, mercurial."
++puts "Hello, Mercurial."
+% echo 'print "Hello, Mercurial.\n";' &gt; hello.pl
+% hg add hello.pl
+% hg diff
+diff -r c0d1b673238b hello.pl
+--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
++++ b/hello.pl  Sun Mar 06 22:36:56 2011 +0900
+@@ -0,0 +1,1 @@
++print "Hello, Mercurial.\n";
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-8.4" class="outline-3">
+<h3 id="sec-8.4"><span class="section-number-3">8.4</span> 変更されたファイル一覧(hg status) </h3>
+<div class="outline-text-3" id="text-8.4">
+
+
+
+
+<pre class="example">% hg status
+M hello.rb
+A hello.pl
+%
+</pre>
+
+
+
+
+</div>
+
+</div>
+
+<div id="outline-container-8.5" class="outline-3">
+<h3 id="sec-8.5"><span class="section-number-3">8.5</span> コミットを取り消す(hg rollback) </h3>
+<div class="outline-text-3" id="text-8.5">
+
+
+
+
+<pre class="example">% hg commit -m "add perl sample" # 二つの変更をコミットしてしまった
+% hg diff -c 1
+diff -r c0d1b673238b -r 30b4e1e501a3 hello.pl
+--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
++++ b/hello.pl  Sun Mar 06 22:42:41 2011 +0900
+@@ -0,0 +1,1 @@
++print "Hello, Mercurial.\n";
+diff -r c0d1b673238b -r 30b4e1e501a3 hello.rb
+--- a/hello.rb  Sun Mar 06 22:27:01 2011 +0900
++++ b/hello.rb  Sun Mar 06 22:42:41 2011 +0900
+@@ -1,1 +1,1 @@
+-puts "Hello, mercurial."
++puts "Hello, Mercurial."
+%
+% hg rollback
+repository tip rolled back to revision 0 (undo commit)
+working directory now based on revision 0
+%
+% hg commit -m "camelize" hello.rb
+% hg commit -m "add perl sample"
+%
+</pre>
+
+
+
+<p>
+最新のコミットのみrollback可能
+</p>
+
+
+<pre class="example">% hg log --template "{rev}:{node}: {desc}\n"
+2:c0266fae871b5783d4f4a50faf0694d41df01418: add perl sample
+1:f491ca2a61140034ed906d7d45893838493246c8: camelize
+0:c0d1b673238bd257f79a7c2779f1e0d8e24d3524: add hello.rb
+%
+% hg rollback
+repository tip rolled back to revision 1 (undo commit)
+working directory now based on revision 1
+%
+% hg rollback
+no rollback information available
+%
+% hg log --template "{rev}:{node}: {desc}\n"
+1:f491ca2a61140034ed906d7d45893838493246c8: camelize
+0:c0d1b673238bd257f79a7c2779f1e0d8e24d3524: add hello.rb
+% hg commit -m "add perl sample"
+</pre>
+
+
+
+
+
+
+
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-9" class="outline-2">
+<h2 id="sec-9"><span class="section-number-2">9</span> 用語 </h2>
+<div class="outline-text-2" id="text-9">
+
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
+<caption></caption>
+<colgroup><col align="left" /><col align="left" />
+</colgroup>
+<thead>
+<tr><th scope="col">用語</th><th scope="col">意味</th></tr>
+</thead>
+<tbody>
+<tr><td>tip</td><td>最新のリビジョンの事</td></tr>
+<tr><td>defaultブランチ</td><td>svnのtrunk、gitのmasterの事</td></tr>
+</tbody>
+</table>
+
+
+</div>
+
+</div>
+
+<div id="outline-container-10" class="outline-2">
+<h2 id="sec-10"><span class="section-number-2">10</span> その他読むべき文献 </h2>
+<div class="outline-text-2" id="text-10">
+
+<ul>
+<li>
+<a href="http://mercurial.selenic.com/wiki/JapaneseBeginnersGuides">初心者向けガイド</a>
+</li>
+<li>
+<a href="http://foozy.bitbucket.org/hgbook-ja/index.ja.html">hgbook 日本語版</a>
+</li>
+<li>
+<a href="http://beproud.bitbucket.org/bpmercurial-workflow/ja/">BPMERCURIAL-WORKFLOW ドキュメント</a>
+</li>
+</ul>
+</div>
+</div>
+<div id="postamble">
+<p class="author"> Author: Takumi IINO (troter)
+<a href="mailto:takumi@timedia.co.jp">&lt;takumi@timedia.co.jp&gt;</a>
+<a href="mailto:trot.thunder@gmail.com">&lt;trot.thunder@gmail.com&gt;</a>
+</p>
+<p class="date"> Date: 2011-03-06 22:51:03 </p>
+<p class="creator">HTML generated by org-mode 6.33x in emacs 23</p>
+</div>
+</div>
+</body>
+</html>
+#+TITLE: Mercurial チートシート
+#+AUTHOR: Takumi IINO (troter)
+#+EMAIL: takumi@timedia.co.jp, trot.thunder@gmail.com
+#+LANGUAGE: ja
+
+#+OPTIONS: ^:nil toc:2
+#+STYLE: <link rel="stylesheet" type="text/css" href="org-mode-document.css" />
+
+* はじめに
+mercurialのチートシートがgithubに上がっていることに疑問を覚えないこと。
+
+* Mercurialとは
+TODO:
+
+* 最初の設定
+** 設定ファイルの場所
+| Windows                     | Linux/MacOSX/Cygwin |
+|-----------------------------+---------------------|
+| %USERPROFILE%\Mercurial.ini | $HOME/.hgrc         |
+
+** ユーザ名の設定
+設定ファイルに次の項目を追加します。
+#+BEGIN_SRC text
+[ui]
+username=Takumi IINO <takumi@timedia.co.jp>
+#+END_SRC
+
+* help
+** help(hg help)
+#+BEGIN_SRC sh
+% hg help
+#+END_SRC
+** サブコマンドのhelp(hg help [SUB_COMMAND])
+#+BEGIN_SRC sh
+% hg help [SUB_COMMAND]
+#+END_SRC
+#+BEGIN_SRC sh
+% hg help help           # helpのhelpを表示
+#+END_SRC
+** グローバルオプションを表示
+hgのオプションに-vを追加する
+#+BEGIN_SRC sh
+% hg -v help log
+#+END_SRC
+
+* リポジトリを用意する
+** リポジトリの新規作成(hg init)
+#+BEGIN_SRC sh
+% mkdir hello
+% cd hello
+% hg init
+#+END_SRC
+
+** リポジトリのクローン(hg clone)
+#+BEGIN_SRC sh
+% hg clone http://selenic.com/hg mercurial-repo
+requesting all changes
+adding changesets
+adding manifests
+adding file changes
+added 13537 changesets with 26617 changes to 1971 files
+updating to branch default
+872 files updated, 0 files merged, 0 files removed, 0 files unresolved
+$
+#+END_SRC
+
+* 確認を行うコマンド
+
+** コミットログを確認する(hg log)
+#+BEGIN_SRC sh
+% hg log       # 全てのログを表示
+% hg log -l 10 # 最新10個のログを表示
+% hg log -l 10 --branch default # ブランチを指定してログを表示
+#+END_SRC
+
+** サマリー(hg summary)
+#+BEGIN_SRC sh
+% hg summary
+parent: 13536:fac040b7e822 tip
+ merge: drop resolve state for mergers with identical contents (issue2680)
+branch: default
+commit: (clean)
+update: (current)
+%
+#+END_SRC
+
+** 現在のリビジョン(hg parents)
+#+BEGIN_SRC sh
+% hg parents
+changeset:   13536:fac040b7e822
+tag:         tip
+user:        Matt Mackall <mpm@selenic.com>
+date:        Sat Mar 05 16:34:59 2011 -0600
+summary:     merge: drop resolve state for mergers with identical contents (issue2680)
+
+%
+#+END_SRC
+
+** 最新のリビジョン(hg tip)
+#+BEGIN_SRC sh
+% hg tip
+changeset:   13536:fac040b7e822
+tag:         tip
+user:        Matt Mackall <mpm@selenic.com>
+date:        Sat Mar 05 16:34:59 2011 -0600
+summary:     merge: drop resolve state for mergers with identical contents (issue2680)
+
+%
+#+END_SRC
+
+** 現在のブランチ(hg branch)
+#+BEGIN_SRC sh
+% hg branch
+default
+%
+#+END_SRC
+
+** ブランチの一覧とブランチ毎の最新のリビジョン(hg branches)
+#+BEGIN_SRC sh
+% hg branches
+default                    13536:fac040b7e822
+stable                     13534:4ec34de8bbb1 (inactive)
+%
+#+END_SRC
+
+* 移動を行うコマンド
+** 指定したリビジョンに移動(hg update [REV])
+#+BEGIN_SRC sh
+% hg update [リビジョン]
+#+END_SRC
+#+BEGIN_SRC sh
+% hg parent --template "{rev}\n"
+13536
+% hg update 13524 # リビジョン 13520に移動
+10 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg parent --template "{rev}\n"
+13524
+%
+#+END_SRC
+
+** 最新のリビジョンに移動(hg update)
+#+BEGIN_SRC sh
+% hg update
+#+END_SRC
+#+BEGIN_SRC sh
+% hg parent --template "{rev}\n"
+13524
+% hg update # 最新のリビジョンに移動
+10 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg parent --template "{rev}\n"
+13536
+%
+#+END_SRC
+
+** ブランチの移動(hg update [BRANCH])
+#+BEGIN_SRC sh
+% hg update [ブランチ名]
+#+END_SRC
+#+BEGIN_SRC sh
+% hg branch
+default
+% hg update stable
+22 files updated, 0 files merged, 0 files removed, 0 files unresolved
+% hg branch
+stable
+#+END_SRC
+
+* ファイルの操作
+操作のための新しいリポジトリを作りましょう
+#+BEGIN_SRC sh
+% mkdir hello-repo
+% cd hello-repo
+% hg init
+#+END_SRC
+
+** ファイルを追加する(hg add)
+#+BEGIN_SRC sh
+% echo 'puts "Hello, mercurial."' > hello.rb
+% hg add hello.rb
+%
+#+END_SRC
+
+** コミットする(hg commit)
+#+BEGIN_SRC sh
+% hg tip
+changeset:   -1:000000000000
+tag:         tip
+user:
+date:        Thu Jan 01 00:00:00 1970 +0000
+
+% hg commit -m "add hello.rb"
+% hg tip
+changeset:   0:c0d1b673238b
+tag:         tip
+user:        Takumi IINO <takumi@timedia.co.jp>
+date:        Sun Mar 06 22:27:01 2011 +0900
+summary:     add hello.rb
+
+%
+#+END_SRC
+
+** 変更を確認する(hg diff)
+#+BEGIN_SRC sh
+% sed -i -e s/m/M/ hello.rb
+% hg diff
+diff -r c0d1b673238b hello.rb
+--- a/hello.rb  Sun Mar 06 22:27:01 2011 +0900
++++ b/hello.rb  Sun Mar 06 22:34:35 2011 +0900
+@@ -1,1 +1,1 @@
+p-puts "Hello, mercurial."
++puts "Hello, Mercurial."
+% echo 'print "Hello, Mercurial.\n";' > hello.pl
+% hg add hello.pl
+% hg diff
+diff -r c0d1b673238b hello.pl
+--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
++++ b/hello.pl  Sun Mar 06 22:36:56 2011 +0900
+@@ -0,0 +1,1 @@
++print "Hello, Mercurial.\n";
+%
+#+END_SRC
+
+** 変更されたファイル一覧(hg status)
+#+BEGIN_SRC sh
+% hg status
+M hello.rb
+A hello.pl
+%
+#+END_SRC
+
+** 変更を取り消す(hg revert)
+#+BEGIN_SRC sh
+% hg revert hello.pl
+% hg status
+M hello.rb
+? hello.pl
+%
+% hg add hello.pl # またaddしておこう
+#+END_SRC
+
+** コミットを取り消す(hg rollback)
+#+BEGIN_SRC sh
+% hg commit -m "add perl sample" # 二つの変更をコミットしてしまった
+% hg diff -c 1
+diff -r c0d1b673238b -r 30b4e1e501a3 hello.pl
+--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
++++ b/hello.pl  Sun Mar 06 22:42:41 2011 +0900
+@@ -0,0 +1,1 @@
++print "Hello, Mercurial.\n";
+diff -r c0d1b673238b -r 30b4e1e501a3 hello.rb
+--- a/hello.rb  Sun Mar 06 22:27:01 2011 +0900
++++ b/hello.rb  Sun Mar 06 22:42:41 2011 +0900
+@@ -1,1 +1,1 @@
+-puts "Hello, mercurial."
++puts "Hello, Mercurial."
+%
+% hg rollback
+repository tip rolled back to revision 0 (undo commit)
+working directory now based on revision 0
+%
+% hg commit -m "camelize" hello.rb
+% hg commit -m "add perl sample"
+%
+#+END_SRC
+最新のコミットのみrollback可能
+#+BEGIN_SRC sh
+% hg log --template "{rev}:{node}: {desc}\n"
+2:c0266fae871b5783d4f4a50faf0694d41df01418: add perl sample
+1:f491ca2a61140034ed906d7d45893838493246c8: camelize
+0:c0d1b673238bd257f79a7c2779f1e0d8e24d3524: add hello.rb
+%
+% hg rollback
+repository tip rolled back to revision 1 (undo commit)
+working directory now based on revision 1
+%
+% hg rollback
+no rollback information available
+%
+% hg log --template "{rev}:{node}: {desc}\n"
+1:f491ca2a61140034ed906d7d45893838493246c8: camelize
+0:c0d1b673238bd257f79a7c2779f1e0d8e24d3524: add hello.rb
+% hg commit -m "add perl sample"
+#+END_SRC
+
+* multiple headsに関わる操作
+** multiple headsを作る
+** multiple headsの確認
+** multiple headsの統合
+* ブランチの操作
+** ブランチの作成
+** 別のブランチの変更の取り込み
+** ブランチを閉じる
+* タグをつける
+* リモートブランチの操作
+
+* 用語
+| 用語            | 意味                                     |
+|-----------------+------------------------------------------|
+| tip             | 最新のリビジョンの事                     |
+| defaultブランチ | svnのtrunk、gitのmasterの事              |
+| multiple heads  | 名前無しブランチが複数できている状態の事 |
+
+* 参考文献
+- [[http://mercurial.selenic.com/wiki/JapaneseBeginnersGuides][初心者向けガイド]]
+- [[http://foozy.bitbucket.org/hgbook-ja/index.ja.html][hgbook 日本語版]]
+- [[http://beproud.bitbucket.org/bpmercurial-workflow/ja/][BPMERCURIAL-WORKFLOW ドキュメント]]
+- [[http://www.geocities.jp/km_pp1/org-mode/org-mode-document.html][Org-mode による HTML 文書作成入門]]

org-mode-document.css

+/*
+ * Org-mode の HTML 出力用スタイルシート
+ */
+
+/* 文書全体 */
+html {
+    font-family: sans-serif;
+    font-size: medium;
+}
+body {
+    color: black;
+    background-color: white;
+    line-height: 1.3;  /* IE 8 では "1.3" と "130%" と "1.3em" とで <h1> などの出力が異なるので注意 */
+    margin: 2%;
+}
+
+/* リンク */
+a:link {
+    color: #c00000;
+}
+a:visited {
+    color: #400000;
+}
+a:active {
+    color: #ff0000;
+}
+a:hover {
+    color: #ff0000;
+}
+
+/* タイトル */
+h1.title {
+    color: white;
+    background-color: #c00000;
+    text-align: left;
+    border: 3px solid black;
+    padding: 0.1em 0.3em;
+}
+
+/* 目次 */
+div#table-of-contents h2 {
+    display: none;  /* 目次なのは見れば分かるし、デフォルトでは "Table of Contents" という見出しで分かりにくい */
+}
+div#table-of-contents {
+    margin: 1em 30% 1em 2em;
+}
+div#text-table-of-contents {
+    background-color: #e8e8e8;
+    padding: 0.5em;
+    border: 1px dotted black;
+}
+
+/* 見出し */
+h2, h3, h4, h5, h6 {
+    padding: 0.2em 0.3em;
+}
+h4, h5, h6 {
+    font-size: 1em;  /* ブラウザによっては本文よりも小さくなってしまうので */
+}
+h5, h6 {
+    margin: 0.5em;
+}
+h2 {
+    border-bottom: 3px solid #c00000;;
+}
+h3 {
+    border-bottom: 2px dotted black;
+}
+h4 {
+    border-bottom: 1px solid black;
+}
+h5 {
+    border-bottom: 1px solid #c0c0c0;
+}
+h6 {
+    border-bottom: 1px dotted #c0c0c0;
+}
+span.section-number-2, span.section-number-3, span.section-number-4, span.section-number-5, span.section-number-6 {
+    color: #c00000;
+}
+
+/* 本文 */
+div.outline-text-2, div.outline-text-3, div.outline-text-4 {
+    margin: 1em;
+}
+div.outline-text-5, div.outline-text-6 {
+    margin: 1em 1.5em;
+}
+
+/* 文字装飾 */
+b {
+    color: #c00000;
+}
+i {
+    color: #600000;
+}
+code {
+    color: #600000;
+}
+del {
+    color: #608080;
+}
+
+/* 画像による図 */
+img.figure {
+    display: block;
+    margin: 1em auto;
+    border: 1px dotted #c00000;
+}
+
+/* ソース、例文 */
+pre {
+    font-family: "MS ゴシック", "Osaka-Mono", monospace;
+    font-size: medium;
+    margin: 0.5em;
+    padding: 0.5em;
+}
+pre.src {
+    color: #f0f0d0;
+    background-color: #101010;
+    border-top: 2px solid #404040;
+    border-left: 2px solid #404040;
+    border-bottom: 2px solid #c0c0c0;
+    border-right: 2px solid #c0c0c0;
+}
+pre.example {
+    color: #202020;
+    background-color: #f0d0d0;
+    border-top: 2px solid #804040;
+    border-left: 2px solid #804040;
+    border-bottom: 2px solid #d0a0a0;
+    border-right: 2px solid #d0a0a0;
+}
+
+/* テーブル */
+table {
+    margin: auto;
+}
+thead {
+    color: white;
+    background-color: #c00000;
+}
+tbody {
+    background-color: #f0f0f0;
+}
+table, th, td {
+    border: 1px solid black;
+}
+th, td {
+    padding: 0.5em;
+}
+th {
+    font-weight: bold;
+}
+caption {
+    color: #c00000;
+    font-weight: bold;
+    font-size: smaller;
+    white-space: nowrap;
+}
+
+/* リスト */
+ol, ul {
+    padding-left: 2em;
+}
+ol li {
+    /* レベル 1 の数付きリストには数字の横に線を付けてみる */
+    border-left: 1px solid #d0d0d0;
+    padding-left: 0.5em;
+}
+ol li ol li{
+    /* レベル 2 以下の数付きリストには数字の横に線を付けない */
+    border: none;
+    padding-left: 0em;
+}
+ul li {
+    border: none;
+}
+dt {
+    font-weight: normal;
+    border-left: 0.5em solid #c00000;
+    border-bottom: 1px dotted #c00000;
+    padding-left: 0.3em;
+    margin: 0.3em 0em;
+    width: 50%;
+}
+
+/* 水平線 */
+hr {
+    height: 1px;
+    background-color: #c00000;
+    border-style: none;
+}
+
+/* フッタ */
+div#postamble {
+    text-align: right;
+    font-size: smaller;
+    border-top: 2px solid #808080;
+    padding: 1em 0em;
+}
+div#postamble p {
+    margin: 0.2em 0em;
+}
+p.creator {
+    color: #a0a0a0;
+}