GIT と Mercurial の主な違いは、GIT はより高度で業界の多くの開発者に使われているのに対し、Mercurial はシンプルで初心者や非技術者コミュニティーに使われていることです。
GIT と Mercurial は GNU GPL v2 の下で配布されている2つのバージョン管理システムです。
バージョン管理システムとは、開発者が作業を調整したり、作業の履歴を管理したりするためのソフトウェアです。
小規模なプロジェクトではバージョン管理システムを使う必要はありませんが、大規模で複雑なプロジェクトでは不可欠です。
これらのソフトウェアは、ソースコードに加えられたすべての変更点を保存します。
また、各変更点でのプロジェクトの状態も保存されます。
さらに、プロジェクトの異なる段階をバージョンと呼びます。
開発者は、好きなバージョンに移動することができます。
GITとは
GITは、開発者が作業を調整するのに役立つバージョン管理システムです。
GITは当初、Linux TorvaldsがLinux Kernelを開発する際に開発しました。
現在では、Junio Hamanoがメンテナンスを行っています。
GITは、ファイルに加えられた変更を追跡することができます。
非線形のワークフローを提供し、分散環境を実現します。
また、パフォーマンスやデータの整合性を向上させることができる。
さらに、GITは強力なブランチ・モデルを提供します。
そのため、ユーザーはコミットに影響を与えることなく、いつでもブランチを作成、削除、変更することができます。
バグを発見した場合など、開発者はブランチを作成し、変更を行った後、そのブランチを削除することができます。
さらに、ステージングとは、次のコミットにファイルを追加することです。
GITはこの概念をサポートしています。
全体として、GITは高速で信頼性が高く、安全で軽量です。
Mercurialとは
Mercurial は、フリーの分散型ソース管理ツールです。
Windows, Linux, Mac OS など、様々な OS をサポートしています。
また、あらゆるプロジェクトに対応可能です。
各クローンにはプロジェクトの履歴が含まれているため、Mercurial ではほとんどのアクションが高速かつ便利です。
開発者はエクステンションを使って機能を拡張することができます。
Mercurial のドキュメントはわかりやすい。
そのため、ユーザーは容易に理解し、使用することができます。
さらに、 Subversion のような他のバージョンシステムを使っていたユーザーは、簡単に Mercurial に適応することができます。
Mercurial はコマンドラインを備えていますが、グラフィカルユーザーインターフェースの拡張も提供されています。
また、すべてのプログラムはドライバプログラムの引数として呼び出されます。
このソフトウェアは主に Python プログラミングで書かれています。
さらに、C 言語で書かれたバイナリ実装もあります。
全体として、Mercurial は高いパフォーマンスとスケーラビリティを提供します。
また、プレーンテキストとバイナリファイルを管理することができます。
GITとMercurialの違い
定義
GITはソフトウェア開発中のソースコードの変更を追跡するための分散型バージョン管理システムであり、Mercurialはソフトウェア開発者のための分散型バージョン管理ツールです。
開発者
Linux Torvaldsが最初の開発者で、Junio Hamanoが現在のGITの開発者です。
Matt Mackall は Mercurial の開発者です。
Write In
さらに、GIT は C, Shell, Perl, Tcl, Python で書かれており、Mercurial は C と Python で書かれています。
したがって、この点が GIT と Mercurial の重要な違いです。
歴史
また、バージョン履歴を変更できるかどうかも、GIT と Mercurial の違いの一つです。
GIT では、開発者がバージョン履歴を変更することができます。
Mercurial はデフォルトではバージョン履歴を変更できません(最後のコミットを変更することはできます)。
ステージングコンセプト
また、GITではステージング(次のコミットのためのファイル追加)をサポートしていますが、Mercurialにはステージングエリアの概念はありません。
ブランチング
GIT と Mercurial のもう一つの違いは、GIT は Mercurial よりも優れたブランチを提供することです。
シンプリシティ
Mercurial は GIT よりもシンプルです。
使用例
さらに重要なことは、業界の多くの開発者が GIT を使っているのに対し、Mercurial は経験の浅いユーザーに適しているということです。
したがって、これが GIT と Mercurial の主な違いです。
結論
簡単に言うと、MercurialとGITは2つのバージョン管理システムです。
GIT と Mercurial の主な違いは、GIT はより高度で業界の多くの開発者に使われているのに対し、Mercurial はシンプルで初心者や非技術者コミュニティーに使われていることです。