Mercurial をバージョン管理システムとして使用するプロジェクトに取り組み始めたばかりで、これを使用する方法に関する基本的なヒントが必要です。この質問を使用して、このテクノロジーに関する入門的なヒントを提供してください。
特に、使用するのに最適なプログラムと使用するのに最適なテクニック (ブランチ、イン チェックとアウト チェックなど。ベスト プラクティスを学ぶ必要があります!) に関するヒントを探しています。
Mercurial をバージョン管理システムとして使用するプロジェクトに取り組み始めたばかりで、これを使用する方法に関する基本的なヒントが必要です。この質問を使用して、このテクノロジーに関する入門的なヒントを提供してください。
特に、使用するのに最適なプログラムと使用するのに最適なテクニック (ブランチ、イン チェックとアウト チェックなど。ベスト プラクティスを学ぶ必要があります!) に関するヒントを探しています。
すでに Mercurial のサイトを持っていることは知っていますが、私にとって最も役立つリソースはMercurial bookでした。これは、プログラムの優れた概要とその使用方法です。
Mercurial を学ぶ最善の方法は、プロジェクトで使用することだとわかりました。Subversion からエクスポートしたプロジェクトを Mercurial にインポートし、定期的な開発を行いました。マージと更新に慣れるために、さまざまな変更セットのリポジトリを複製するようにしました。高度な使い方をすべて学んでいるわけではありませんが、今ではかなりしっかりと使いこなせており、まだ Subversion に切り替えていません。
多くのプロジェクトには、コミット ワークフローのさまざまな手法があります。集中型システムのように開発者からプッシュされた変更があるものもあれば、コントリビューター (Linux など) から変更をプルするものもあります。プロジェクトのプロセスを知らずに一般化するのは困難です。
これが私の開発方法です。
project-trunk
ファイル共有またはproject
http上の集中ツリー。project-local
project-local
変更ごとにツリーを複製します。project-addusers
、project-141
などproject-local
ツリーへのコミットが完了したら、変更をリポジトリにプッシュしますproject-local
ますproject-trunk
project-local
一度にすべての変更セットをトランクにプッシュバックできるため、クリーンなツリーが得られます。これは、一緒にプッシュバックする必要がある関連する変更のグループがある場合に役立ちます。
ツールに関しては、プラットフォームによって異なります。私はバニラコマンドラインツールを使用しています。TortoiseSVN から来て、コマンド ラインに移動するのは少し変更されました。しかし、私は今それで大丈夫です。TortoiseHg を使用してみましたが、Windows 7 x64 仮想マシンではうまく機能しませんでした。サポートされている 32 ビット プラットフォームでは、はるかに優れていると聞いています。
これはJoel Spolskyによって書かれた Mercurial に関する役立つチュートリアルです。
基本的な使用方法とコマンド、およびより概念的なレベルで Mercurial を操作する方法について説明します。すでに SVN に精通している場合は、最初の部分を読む価値があります。SVN と Mercurial の主な概念上の違いについて説明しています。SVN を使用するのと同じ方法で Mercurial を使用しようとすると、問題が発生するからです。
Mercurial の本、またはこのMercurial のチュートリアルをご覧ください。
他のソース管理ツールのバックグラウンドに応じて、特定の SCM を Mercurial ガイドに提案することもできます。たとえば、Subversion ユーザー向けのこのガイドをご覧ください。
「分散型」ソース管理のアイデア全体を把握するためのもう 1 つの優れたリソースは、http: //betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ... 役立つ図付きです!
最新のTortoiseHGクライアントを使用し、インストール ディレクトリを PATH 環境に含めると、それらが提供する優れた GUI とコマンド ライン 'hg' の両方を使用できるようになります。
mq 拡張機能を使いすぎることはお勧めできません。それらは、優れた「作業リポジトリ」環境を実現します。
キューを使用して、Subversion リポジトリに対するローカルの変更を管理します。私はローカルで短期間の変更を行い、Mercurial を使用して Subversion や他のチームと同期をとっています。
Steve Losh のブログ記事のいくつかは、まだ 2 年ほど経っていますが、良いものです。彼らは主に分岐を扱う方法を扱います。
彼のhgtip.comサイトも一見の価値があります。
MercurialBookとHgInitチュートリアルに加えて、私が書いた例に基づいたガイドについても触れておきたいと思います。
Mercurialの使用を開始する方法を示し、名前付きブランチやhgsubversionなどのより高度な概念についても説明します。私はMercurialを新しいユーザーに教えるときに使用しましたが、彼らはそれを気に入っているようでした。