質問
バージョン管理システムとしてMercurialを使用するプロジェクトに取り組み始めたばかりで、これを使用するための基本的なヒントが必要です。この質問を使用して、このテクノロジーに関する入門的なヒントを提供してください。
特に、使用するのに最適なプログラムと使用する最良のテクニックに関するヒントを探しています(ブランチ、チェックイン、チェックアウトなど。ベストプラクティスを学ぶ必要があります!)
解決
すでにMercurialサイトを持っていることは知っていますが、私にとって最も役立つリソースは Mercurial本でした。これは、プログラムの概要とその使用方法です。
Mercurialを学習する最良の方法は、プロジェクトで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ビットプラットフォームの方がはるかに優れていると聞きました。
他のヒント
基本的な使用法とコマンド、さらに概念的なレベルで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リポジトリに対するローカルの変更を管理します。私は現地で短期間の変更を行い、水銀を使用して転覆やチームの他のメンバーと同期を保ちます。
Steve Loshのブログ投稿のいくつかは、2年前のものですが、良いものです。主に、分岐の処理方法を扱います。
hgtip.com サイトもご覧ください。
Mercurial BookとHg Initチュートリアルに加えて、私が書いたサンプル駆動型のガイドに言及したいと思います。
Mercurialの使用を開始する方法を示し、名前付きブランチやhgsubversionなどのより高度な概念についても説明します。新しいユーザーにMercurialを教えるときに使用しましたが、気に入ったようです。