2009-05-08 11 views
12

Mercurialをバージョン管理システムとして使用するプロジェクトに取り掛かり始めました。これを使うための基本的なヒントが必要です。この質問を使用して、この技術に関する入門的なヒントを提供してください。特に、私はベストプラクティスを学ぶ必要が使用するのに最適なプログラム上のヒントや(支店、内と外のチェックなどを使用するための最良の方法を探していますMercurialの紹介

!)

答えて

13

私は既にMercurialサイトを持っていると知っていますが、私にとって最も有用なリソースはMercurial bookです。これは、プログラムの優れた概要と、それを使用する方法です。

私はMercurialを学ぶための最良の方法は、プロジェクトで使用することだとわかりました。私はMercurialにSubversionからエクスポートしたプロジェクトをインポートし、定期的な開発を行った。さまざまなチェンジセットのリポジトリを確実に複製して、マージと更新に慣れることができました。私はすべての先進的な使い方を学んだわけではありませんが、今はSubversionに戻っていません。

多くのプロジェクトには、コミットワークフローのためのさまざまな手法があります。開発者から集中的なシステムのように変更されたものもあれば、寄稿者から変更を引き出すものもあります(Linuxなど)。プロジェクトのプロセスを知らなくても一般化するのは難しいです。

これは私が私の開発を行う方法です:ファイル共有またはHTTP上の

  • 一元化木、私はからクローン私のシステム上のきれいなツリー決定的なプロジェクトのバージョン
  • であるproject-trunkprojectと呼ばれますリモートリポジトリを使用して、リポジトリにプッシュバックします。私は私の変更のためにこのツリーからクローンします。私はこのツリーと呼ぶ。project-local
  • 私の変更ごとにproject-localツリーをクローンする。 project-addusersproject-141、私は木にコミットして終了していた後など
  • 、私はその後、
  • 最後にproject-localリポジトリに変更をプッシュし、私が持っているproject-localproject-trunkから

で変更をプッシュクリーンなツリーです。そのため、すべてのチェンジセットを一度にトランクに戻すことができます。これは、関連する変更のグループが一緒に戻ってくる必要がある場合に役立ちます。

ツールについては、プラットフォームによって異なります。私はバニラのコマンドラインツールを使用します。 TortoiseSVNから来て、それはコマンドラインに行くための少しの変更でした。しかし、私は今それで大丈夫です。私はTortoiseHgを使ってみましたが、Windows 7 x64仮想マシンではうまく機能しませんでした。サポートされている32ビットプラットフォームの方がはるかに優れていると聞いています。

+0

この本は最新の反復で良くなっており、ハードコピーで公開されているほど成熟しています。これを読んでいて、依然としてMercurialの出発点を探しているなら、それは間違いなく始める場所です。 – quark

+1

追加のボーナスとして、BitBucketのMercurialリポジトリ(http://bitbucket.org/bos/hgbook)で本のソースを見つけることができます。つまり、ツール自体を使用して、編集して作者に提示することができます。 – quark

2

最新TortoiseHGクライアントを使用して、PATH環境にインストールしたディレクトリが含まれている場合、あなたは素敵な彼らが提供するGUIとコマンドライン「HG」の両方を使用することができるようになります

私が使用してお勧めすることはできませんmqの拡張子があまりにも大きすぎます。彼らは素晴らしい「作業リポジトリ」環境を作ります。

私はキューを使用して、Subversionリポジトリに対するローカル変更を管理します。私は地元の短期的な変更を行い、水銀を使用して転覆やチームの残りの部分と同期をとっています。

13

ここにJoel Spolskyで書かれたMercurialのhelpful tutorialです。

基本的な使い方とコマンド、さらに概念レベルでのMercurialの操作方法について説明しています。 SVNを既によく知っているなら、最初の部分は読んでみる価値があります.Svnと同じようにMercurialを使用しようとすると、SVNとMercurialの主な概念の違いについて話しています。 MercurialのブックおよびHgの初期のチュートリアルに加えて

+1

このチュートリアルは非常に驚くほど明確で分かりやすいものです。 DVCSとバージョンコントロールにまったく新しいものとして私が必要としたものだけです。 – Acorn

+0

ほとんどの場合、MercurialをSVNと同じように使用することに対して警告するのは正しいでしょうが、多くの基本操作ではこれが可能です。 * hgsubversion *(https://bitbucket.org/durin42/hgsubversion/overview/を参照)のような拡張機能は、これが完全に有効であることを示唆しています。それにもかかわらず、* Mercurial Queues *(http://mercurial.selenic.com/wiki/MqExtension)を含む特別な機能は、Mercurialの真のパワーを発揮します。 – hasienda

0

、私は私が書いた例主導のガイドを言及したいでしょう:

それは取得する方法を示していますMercurialで始まり​​、名前付きブランチやhgsubversionなどのいくつかの高度な概念もカバーしています。新しいユーザーにMercurialを教えるときに私はそれを使いました。彼らはそれを気に入っていました。