Gitの基礎 - Gitの概要

提供:MochiuWiki : SUSE, EC, PCB
2020年4月26日 (日) 07:58時点におけるWiki (トーク | 投稿記録)による版 (Wiki がページ「Gitの概要」を「Gitの基礎 - Gitの概要」に、リダイレクトを残さずに移動しました)
ナビゲーションに移動 検索に移動

概要

Gitとは、オープンソースの分散型バージョン管理システムである。(ファイルの変更履歴を管理する)
GPLライセンスの下で公開されていて、自己責任の下で、誰もがGitを使用することができる。

バージョン管理システムというと、CVSやSubversion等が有名だが、Gitは最近注目のバージョン管理システムである。

Gitの産みの親は、Linuxカーネルの産みの親でもあるLinus Torvalds氏である。
Linux kernelは、全世界に多数の開発者がいる大きなプロジェクトであるが、そのLinux kernelのソース管理にGitが使用されている。
また、X.orgやRuby on Rails、Perl、Google Android等もGitを使用しており、
特にオープンソースのプロジェクトのバージョン管理にGitが使用されるケースが増えている。


Gitの特徴

Gitの特徴は、分散型のバージョン管理システムであるということ、
それから何といっても、Linuxカーネルの開発で培われたノウハウが凝縮された高機能なバージョン管理システムであるという点である。

分散型とは、リポジトリが1箇所に集中していないという意味である。
Subversion等は1箇所のリポジトリに開発者全員が変更履歴を記録する方式ということから、リポジトリは1箇所に集中している。

一方、分散型では各開発者が自分専用のローカルリポジトリを持ってそこにコミットする。
そしてコミットした内容を、push / pullという仕組みを使って皆で共有してソフトウェアの開発を進めていく。
リポジトリが1箇所に集中せず、開発者ごとにリポジトリが分散されているから分散型ということである。

分散型のメリットは、リポジトリをWeb上で公開すれば、誰でもそのリポジトリを複製して開発に参加できるという点にある。
そこには、CVSやSubversionのようなコミッターとそれ以外といった区別はない。
誰もがリポジトリを複製して開発に参加でき、その変更が優れていれば、皆がその結果をpullしてくれる。

OSSプロジェクトで、ここ数年で爆発的にGitが使われるようになったのは、そういう理由からである。

なお、分散型のバージョン管理システムには、Gitの他にも、Bazzar、Mercurial、monotone、darcs等がある。
Gitはその中でも大変良く使用されているツールである。