Source

cointoss1973.bitbucket.org / thg / html / quick.html

Full commit


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>3. TortoiseHg クイックスタート &mdash; TortoiseHg 1.0.0 documentation</title>
    
    <link rel="stylesheet" href="_static/default.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '1.0.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/translations.js"></script>
    <link rel="top" title="TortoiseHg 1.0.0 documentation" href="index.html" />
    <link rel="next" title="4. TortoiseHg ダイアログ" href="daily.html" />
    <link rel="prev" title="2. 導入" href="intro.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="総合索引"
             accesskey="I">索引</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Pythonモジュール索引"
             >モジュール</a> |</li>
        <li class="right" >
          <a href="daily.html" title="4. TortoiseHg ダイアログ"
             accesskey="N">次へ</a> |</li>
        <li class="right" >
          <a href="intro.html" title="2. 導入"
             accesskey="P">前へ</a> |</li>
        <li><a href="index.html">TortoiseHg 1.0.0 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-tour">
<span id="tortoisehg"></span><h1>3. TortoiseHg クイックスタート<a class="headerlink" href="#module-tour" title="このヘッドラインへのパーマリンク"></a></h1>
<p>TortoiseHg と Mercurial にようこそ!
TortoiseHg は Mercurial 分散バージョン管理システム (DVCS) に Windows
エクスプローラのシェル拡張と使い勝手の良い GUI
フロントエンドを提供するアプリケーションです。すべての TortoiseHg
の機能はエクスプローラの右クリックメニューからだけでなく、付属の
<strong class="command">hgtk</strong> コマンドラインツールからも起動することができます。
Mercurial のコマンドも通常の <strong class="command">hg</strong> コマンドで利用できます。</p>
<div class="section" id="id1">
<h2>3.1. TortoiseHg の設定<a class="headerlink" href="#id1" title="このヘッドラインへのパーマリンク"></a></h2>
<p>まず最初にやることは TortoiseHg にあなた自身について教えることです。
TortoiseHg のユーザ設定ダイアログから設定できます。
プロジェクトディレクトリを右クリックして
<em class="menuselection">TortoiseHg ‣ ユーザ設定</em> を選択します。</p>
<div class="figure">
<img alt="デスクトップの右クリックメニュー" src="_images/cmenu-global-settings.png" />
<p class="caption">デスクトップからユーザ設定ダイアログを開く</p>
</div>
<p>このメニューは TortoiseHg 設定ダイアログを開いて、ホームディレクトリにある
あなたのユーザ設定を編集します。コマンドラインから使用しているのであれば
<strong class="command">hgtk userconfig</strong> でユーザ設定ダイアログを開くことができます。</p>
<div class="figure">
<img alt="設定ダイアログ" src="_images/settings.png" />
<p class="caption">TortoiseHg 設定ダイアログ</p>
</div>
<p>そして <em class="guilabel">コミット</em> ページに切り替えて、 <em class="guilabel">ユーザ名</em>テキストボックスに名前を入力してください。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">ユーザ名の設定をし忘れた場合、TortoiseHg は必要に応じてコミット時にユーザ名の
入力を促します。</p>
</div>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p>ユーザ名として設定する名前の形式に厳密なルールがあるわけではありませんが、
多くの人が次のような形式を採用しています:</p>
<blockquote>
<div>氏名 &lt;電子メールアドレス&gt;</div></blockquote>
<p>例えば:</p>
<blockquote>
<div>Taro Yamada &lt;<a class="reference external" href="mailto:taroyamada&#37;&#52;&#48;example&#46;net">taroyamada<span>&#64;</span>example<span>&#46;</span>net</a>&gt;</div></blockquote>
<p class="last">電子メールアドレスはチェンジログビューアで履歴を表示する際には削除され、
Mercurial 内蔵のウェブサーバを利用した場合はスパム対策のためメールアドレス
の一部のみ表示されます。</p>
</div>
<p>次に <em class="guilabel">TortoiseHg</em> ページに切り替え、 <em class="guilabel">3-way マージツール</em>
の設定項目を選択します。このドロップダウンリストにはシステム内で検出された
すべての利用可能なマージツール (kdiff3 は Windows 向けの TortoiseHg
インストーラ同梱) と Mercurial 組み込みのマージ処理が含まれています。
好みのマージツールを選んでください。</p>
<p>選択したマージツールを GUI 差分表示ツールとしても利用したい場合は
<em class="guilabel">GUI 差分表示ツール</em> の設定項目を <em class="guilabel">未設定</em>
のままにしておいてください。マージツールとは異なる他の差分ツールを
利用したい場合はドロップダウンリストから好きなツールを選択してください。</p>
<p>ドロップダウンリストに選択肢がない場合は mergetools.rc がサポートしている
差分/マージツールをインストールするか、未サポートのツールであれば
<tt class="file docutils literal"><span class="pre">Mercurial.ini</span></tt> ファイル、または <tt class="file docutils literal"><span class="pre">.hgrc</span></tt>
ファイルに設定を記述する必要があります。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">TortoiseHg をソースコードからインストールしている場合、
contrib/mergetools.rc ファイルを HGRC パスに含める必要があります。
例えば %include を使うことで ~/.hgrc ファイルから読み込みます。</p>
</div>
<p>他のユーザ設定も自由に設定してください。必要であればユーザ設定における
設定値はリポジトリごとの設定で上書きすることができます。</p>
<p><em class="guilabel">OK</em> ボタンを押して変更を保存して完了です。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">ほとんどの TortoiseHg ダイアログは設定を反映するために
再起動する必要があります (システムの再起動ではない)。</p>
</div>
</div>
<div class="section" id="id2">
<h2>3.2. リポジトリの初期化<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク"></a></h2>
<p>右クリックメニューの <em class="guilabel">ここにリポジトリを作成</em> を選択するか、
コマンドラインから <strong class="command">hgtk init</strong> を実行して最初のリポジトリを
ローカルディスク上に作成してみましょう。
この作業はプロジェクトディレクトリのルートで一度だけ行ってください。</p>
<div class="figure">
<img alt="初期化ダイアログ" src="_images/init.png" />
<p class="caption">リポジトリ初期化ダイアログ</p>
</div>
<p>特に理由がなければ
<em class="guilabel">特殊ファイルを追加する (.hgignoreなど)</em> にチェックを入れ、
<em class="guilabel">Mercurial 1.0 互換のリポジトリを作成</em> のチェックは外した状態で
リポジトリを作成すると良いでしょう。</p>
<p><em class="guilabel">作成</em> ボタンを押すと Mercurial はプロジェクトディレクトリに
<tt class="file docutils literal"><span class="pre">.hg</span></tt> という名前のディレクトリを作成します。
ここには Mercurial のすべてのバージョン情報が保管され、一般に <em>リポジトリ</em>
と呼ばれています。一方、実際のソースファイルなどが含まれているディレクトリを
<em>作業ディレクトリ</em> と呼びます。コマンドを実行するときこの <tt class="file docutils literal"><span class="pre">.hg</span></tt>
ディレクトリを指定する必要はなく、作業ディレクトリのルートを指定するだけで
大丈夫です。これは Mercurial がどのように動いているのかを理解するために
覚えておくと良いかもしれません。</p>
</div>
<div class="section" id="id3">
<h2>3.3. ファイルの追加<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク"></a></h2>
<p>いよいよ Mercurial にどのファイルを管理下に置き、どのファイルを無視すべき
なのかを指定します。これにはいくつものやり方があります:</p>
<ol class="arabic simple">
<li>エクスプローラで追加したいファイルを右クリックしてメニューを開いて
<em class="menuselection">TortoiseHg ‣ 追加...</em> を選択します。
するとファイル追加を確認するダイアログが表示されるので、
それでよければ <em class="guilabel">追加</em> ボタンを押してください。</li>
<li>もしくは、ステータスツール (<em class="menuselection">TortoiseHg ‣ 変更点の確認</em>
またはコマンドラインから <strong class="command">hgtk status</strong>) を開いて追加したいファイルの
チェックボックスにチェックを入れ、 <em class="guilabel">追加</em> ボタンを押します。
ステータスツールでは、不明なファイルの右クリックメニュー (<em class="guilabel">無視</em>)
から無視フィルタツールを開くこともできます。</li>
<li>または、ファイルの追加を独立した作業として行わず、コミットツールで済ます
ことも可能です。コミットツールはステータスツールと非常に似ており、
ステータスツールで可能な操作はすべてコミットツールでも行えます。
このツールではファイルにチェックを入れて <em class="guilabel">コミット</em> ボタンを押す
ことで、まだ Mercurial 管理下に置かれていないファイルの追加およびコミット
することができます。</li>
<li>無視ファイルを指定するために無視フィルタダイアログを開きます:
右クリックメニューから <em class="menuselection">TortoiseHg ‣ 無視フィルタの編集</em>
を選択するか、コマンドラインから <strong class="command">hgtk hgignore</strong> を実行します。
一覧からファイルを選択するか直接 <em>Glob</em> または <em>正規表現</em> を入力して
<em class="guilabel">追加</em> ボタンを押してください。ここでの変更は即座に反映されます。</li>
</ol>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">作業ディレクトリにたくさんの <em>不明</em> ファイルを放置したままにしないというのは、
バージョン管理下に置くべきファイルの追加し忘れを未然に防ぐという意味で
よい習慣と言えます。そのため <tt class="file docutils literal"><span class="pre">.hgignore</span></tt> ファイルを極力最新の状態に
保つよう努めてください。</p>
</div>
</div>
<div class="section" id="id4">
<h2>3.4. コミット<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク"></a></h2>
<p>プロジェクトディレクトリを右クリックして <em class="guilabel">Hg コミット ...</em>選択するか、コマンドラインから <strong class="command">hgtk commit</strong> を実行して変更点を
ローカルリポジトリにコミットします。コミットメッセージを記述し、
コミットしたいファイルにチェックを入れてから <em class="guilabel">コミット</em> ボタンを
押します。コミット後にコミットメッセージの内容やコミットしたファイルの間違いに
気付いた場合は <em class="guilabel">取り消し</em> ボタンで直前のコミットを取り消すことが
できます。入力したコミットメッセージはメッセージ履歴のドロップダウンリストに
残るため、同じメッセージを再度入力し直す必要はありません。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">コミットツールを閉じてしまうと直前のコミットを <em class="guilabel">取り消し</em> ボタンで
取り消すことは出来なくなります。</p>
</div>
<div class="figure">
<img alt="コミットダイアログ" src="_images/commit.png" />
<p class="caption">コミットツール</p>
</div>
</div>
<div class="section" id="id5">
<h2>3.5. リポジトリの共有<a class="headerlink" href="#id5" title="このヘッドラインへのパーマリンク"></a></h2>
<p>これであなたの成果を共有するための準備が整いました。あとはこのリポジトリを
他のメンバからも参照できる共用スペースにコピーするだけでOKです。
Mercurial ではこのコピー操作を <em>リポジトリのクローン (cloning your repository)</em>
と呼んでいます。リポジトリを共有ドライブにするには右クリックメニューから
<em class="menuselection">TortoiseHg ‣ リポジトリのクローン</em> を選択するか、
コマンドラインから <strong class="command">hgtk clone</strong> を実行します。</p>
<div class="figure">
<img alt="クローンダイアログ" src="_images/share.png" />
<p class="caption">クローンダイアログ</p>
</div>
<p>チームでコードを共有するための <em>中央リポジトリ</em> に、あなたが持っている
ローカルのリポジトリのような作業ディレクトリは必要ありません。
つまり、純粋にリポジトリだけあれば十分と言えます。このような場合、
<em class="guilabel">クローン後に作業ディレクトリを HEAD に更新しない</em>
にチェックを入れることで Mercurial は中央リポジトリのクローンから
作業コピーをチェックアウトしません。その結果、プロジェクトのリビジョン履歴の
すべてが格納されている <tt class="file docutils literal"><span class="pre">.hg</span></tt> のみとなります。</p>
<p>他のチームメンバはこの中央リポジトリからクローンすることで作業できます。</p>
</div>
<div class="section" id="id6">
<h2>3.6. 共有リポジトリからの取得<a class="headerlink" href="#id6" title="このヘッドラインへのパーマリンク"></a></h2>
<p>今あなたがあるチームと共同作業を始めたいとします。彼らは
<em>X からリポジトリを取得してくれ</em> と言っていますが、どういう意味なのでしょうか?
これは、X という場所に置かれているリポジトリをローカルにクローンしてくれ、
という意味になります。Mercurial ではこれをクローン (cloning) と呼び、
TortoiseHg には専用のダイアログが用意されています。
クローンを作成したいディレクトリで右クリックメニューを開いて
<em class="menuselection">TortoiseHg ‣ リポジトリのクローン</em> を選択するか
コマンドラインから <strong class="command">hgtk clone</strong> を実行してください。</p>
<div class="figure">
<img alt="クローンダイアログ" src="_images/clone.png" />
<p class="caption">クローンダイアログ</p>
</div>
<p>今回はこれからクローンするリポジトリの作業ディレクトリでプロジェクトの作業を
するため、 <em class="guilabel">クローン後に作業ディレクトリを HEAD に更新しない</em>
のチェックは外してください。これで Mercurial は作業ディレクトリを
<em>tip</em> リビジョンに更新します。</p>
</div>
<div class="section" id="id7">
<h2>3.7. リポジトリを使ったワークフロー<a class="headerlink" href="#id7" title="このヘッドラインへのパーマリンク"></a></h2>
<p>作業ディレクトリでいくつかの変更を加えたとします。エクスプローラでいくつかの
変更が保留中であることをアイコンオーバーレイの変化から簡単に確認できます。
より詳細な変更点の確認やそれらのコミットはエクスプローラから行うことができます。
手っ取り早い方法はコミットツールを使うことです:</p>
<div class="figure">
<img alt="アイコンオーバーレイ" src="_images/overlayicons.png" />
<p class="caption">Windows Vista でのアイコンオーバーレイ表示</p>
</div>
<p>コミットツールは変更の差分を表示してくれます。もしくは普段使用している GUI の
差分表示ツール (kdiff など) を使用することもできます。 Mercurial のリポジトリは
分散型になっているため、変更点を共有リポジトリと同期 (変更点の共有) するかどうか
決める前にローカルリポジトリにコミットできます。</p>
<p>変更を共有リポジトリに公開する準備が整ったら、</p>
<ol class="arabic simple">
<li>ローカルのリポジトリに変更点をコミットします (前述)。</li>
<li>共有リポジトリから変更をローカルリポジトリにプル (pull) します:
右クリックメニューから <em class="menuselection">TortoiseHg ‣ ログの表示</em> または
コマンドラインから <strong class="command">hgtk log</strong> を実行し、共有リポジトリの場所を
同期バーで選択して、ツールバーの <em class="guilabel">プル</em> ボタンを押します。</li>
<li>いくつかのチェンジセットがプルされた場合、それらの変更とローカルでの変更を
マージして、マージ結果をローカルリポジトリにコミットしてください。
チェンジログビューアから (<em class="menuselection">TortoiseHg ‣ ログの表示</em>
または <strong class="command">hgtk log</strong>) マージしたいリビジョンの右クリックメニューを
開いて <em class="guilabel">マージ</em> を選択します。マージダイアログが表示されるので、
<em class="guilabel">マージ</em> ボタンを押してマージを実行し、 <em class="guilabel">コミット</em>
してください。</li>
<li>マージが正しく行われたかどうかテストなどで検証してください。</li>
<li>変更を共有リポジトリにプッシュ (push) するために、
<em class="menuselection">TortoiseHg ‣ ログの表示</em> または <strong class="command">hgtk log</strong>
で同期ダイアログを開き、共有リポジトリの場所を選択してから
<em class="guilabel">プッシュ</em> ボタンを押します。</li>
</ol>
<p>文章にすると複雑に見えますが、実際にはコミットしてチェンジログビューアのボタンを
押すだけです。</p>
<div class="admonition note">
<p class="first admonition-title">ノート</p>
<p class="last">マージ作業に失敗したとしても安全に最初からマージ作業を始めることが可能です。</p>
</div>
<p>Mercurial は共同作業を簡単に、素早く、効率的にします。
詳しくは Mercurial の <a class="reference external" href="http://mercurial.selenic.com/wiki/">wiki</a>
をご覧ください。</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="index.html">
              <img class="logo" src="_static/thg_logo_92x50.png" alt="Logo"/>
            </a></p>
  <h3><a href="index.html">目次</a></h3>
  <ul>
<li><a class="reference internal" href="#">3. TortoiseHg クイックスタート</a><ul>
<li><a class="reference internal" href="#id1">3.1. TortoiseHg の設定</a></li>
<li><a class="reference internal" href="#id2">3.2. リポジトリの初期化</a></li>
<li><a class="reference internal" href="#id3">3.3. ファイルの追加</a></li>
<li><a class="reference internal" href="#id4">3.4. コミット</a></li>
<li><a class="reference internal" href="#id5">3.5. リポジトリの共有</a></li>
<li><a class="reference internal" href="#id6">3.6. 共有リポジトリからの取得</a></li>
<li><a class="reference internal" href="#id7">3.7. リポジトリを使ったワークフロー</a></li>
</ul>
</li>
</ul>

  <h4>前のトピックへ</h4>
  <p class="topless"><a href="intro.html"
                        title="前の章へ">2. 導入</a></p>
  <h4>次のトピックへ</h4>
  <p class="topless"><a href="daily.html"
                        title="次の章へ">4. TortoiseHg ダイアログ</a></p>
  <h3>このページ</h3>
  <ul class="this-page-menu">
    <li><a href="_sources/quick.txt"
           rel="nofollow">ソースコードを表示</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>クイック検索</h3>
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="検索" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    モジュール、クラス、または関数名を入力してください
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>ナビゲーション</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="総合索引"
             >索引</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Pythonモジュール索引"
             >モジュール</a> |</li>
        <li class="right" >
          <a href="daily.html" title="4. TortoiseHg ダイアログ"
             >次へ</a> |</li>
        <li class="right" >
          <a href="intro.html" title="2. 導入"
             >前へ</a> |</li>
        <li><a href="index.html">TortoiseHg 1.0.0 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2010, Steve Borho、他.
      このドキュメントは <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3 で生成しました。
    </div>
  </body>
</html>