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はその中でも大変良く使用されているツールである。
Gitの基礎用語
下表に、Gitを使用する上で必要な用語を示す。
用語 | 説明 |
---|---|
リポジトリ | データを保存する場所。 Gitでは、このリポジトリ単位でデータを管理する。 修正履歴も保存されている。 |
リモートリポジトリ | サーバにあるリポジトリ。 サーバに保存され、共有される。 |
ローカルリポジトリ | ローカルに保存されているリポジトリ。 |
クローン | リモートリポジトリを複製すること。 修正履歴なども複製される。 |
ブランチ | 一連の修正を、主流から枝のように分岐させて管理するもの。 ブランチでの修正内容は他のブランチの影響を受けないため、 同じリポジトリで同時に複数の開発を行うことができる。 |
チェックアウト | 他のブランチへ移動し、作業ディレクトリを任意のコミット状態にすること。 |
コミット | 修正内容をローカルリポジトリに反映すること。 |
プッシュ | ローカルリポジトリの修正内容をリモートリポジトリに反映すること。 |
プル | リモートリポジトリの修正内容をローカルリポジトリに反映すること。 |
マージ | 異なるブランチの修正内容を反映すること。 マージ先とマージ元の両方に変更履歴が残る。 |
コンフリクト | マージの際に、リモートとローカルで同じファイルの同じ箇所に対して修正がされており、自動でマージできないこと。 手動で、両方の修正を合わせた内容に編集する必要がある。 |
Gitのインストール
Gitを使用するためには、ローカル環境でのGitの構築が必要である。
まず、Gitをローカル環境で使用できるように、Gitをインストールする。
- Windows
- Git for WindowsからGit for Windowsをダウンロードして、インストールする。
- Linux
- ほとんどのLinuxでは、標準でGitがインストールされている。
- もしインストールされていなかったり、より新しいバージョンのGitを利用する場合は、
- こちらのページを参照してインストールする。
次に、Gitコマンドを操作するコマンドライン環境を準備する。
- Windows
- Gitコマンド付属のGit Bashを起動後、以下のコマンドを実行して、Gitのバージョンが表示されることを確認する。
git --version
- Linux
- 以下のコマンドを実行して、Gitのバージョンが表示されることを確認する。
git --version
Gitの設定
ユーザ名とメールアドレスを登録する。
git config --global user.name <ユーザ名> git config --global user.email <メールアドレス>
以下のコマンドを実行することで、設定を確認できる。
git config --list # 出力 user.name=<ユーザ名> user.email=<メールアドレス> ...