Git(ギット) 最新情報
バージョンアップ情報Gitのバージョンアップ情報 |
年間サポートGitの年間サポートサブスクリプション |
導入支援サービスGitの導入支援サービス |
活用例・導入事例Gitの活用例・導入事例 |
|||||||||||
Git(ギット)とは
Gitは、Apache Subversionの後に出てきた、「分散型バージョン管理システム」の一つで、Linux創始者のリーナス・トーバルス氏が作ったものとされています。読み方としては、「ギット」と読む人と「ジット」と読む人がいるようですが、当サイトでは「ギット」とします。
よく普及しているSubversionとの大きな違いは、「ローカルPCに(も)リポジトリを持っている」事でしょう。Subversionの場合、ローカルPCに置いているワーキング・コピー(作業コピー)はあくまでも、スナップショットです。一方で、Gitにも同様なワーキング・ツリー(作業ツリー)があり、更にリポジトリも持っています。ユーザは、ワーキング・ツリーで作業し、ローカルのリポジトリに対してコミットします。Subversionでのリポジトリに相当するものは、Gitでは(ローカルではないので)リモート・リポジトリと言ったり、(共有するので)マスター・リポジトリと言ったりします。ローカル・リポジトリに対して行ったコミットは、プッシュ("Push")して反映します。
Gitはオープンソースソフトウェアで提供されておりライセンス無償で利用する事ができます。
Git自体の開発はオープンソースコミュニティにてロードマップ、リリースプロセス、リリースレベルなどを定義して運営されている為に高品質なオープンソースソフトウェアとしても認知されています。
WindowsやLinux、Mac OS X、各種UNIXなど様々な環境で利用できるクロスプラットフォーム対応のソフトウェアですので簡単に導入する事ができます。
SubversionとGitとの違い
Apache Subversion
Apache Subversionは単一のリポジトリに対して変更・記録して管理されます。
開発者は単一のリポジトリからソースコードを複製し、修正を加えたものをリポジトリへコミット(登録)する事でバージョンが管理されます。
Git
Gitは複数の分散されたリポジトリに対して変更・記録して管理します。複数に分散されたリポジトリはネットワークを介して更新され同じ情報を保持します。開発者は上位リポジトリを複製した下位リポジトリに対して開発作業を行います。上位リポジトリとの同期をしなければフォークした独自ソフトウェアとしての開発を行う事もできます。リポジトリに対する自由度が向上する反面、運用ルールなどを決める必要があります。
傾向としては、企業内の開発、大規模な開発にはSubversionを選択、複数の企業間やコミュニティでの開発、小規模な開発チームではGitを選択するケースが多いようです。
Git(ギット)の特長
1) 分散型バージョン管理システム
Gitでは、個々のローカルPCにリポジトリが存在し、通信して使用する。従って、管理者から見れば管理が難しい面がある。そのため、会社などでの「公式」「マスター」リポジトリを作成し、バックアップ/リストアなどインフラ面での運用をこれに集中して行う形になります。
2) バージョン管理機能
ソースコードなどのテキストデータ、オフィスソフトウェアや画像ソフトやCADなど作成したバイナリファイルなど管理する対象データを「構成要素」と言います。
Gitは「構成要素」に対して変更が加えられたらバージョン(版番号)をアップします。
もちろん過去バージョンに戻す事もできます。
3) ベースライン管理機能
管理すべき「構成要素」に依存関係があった場合(例:プロジェクトにおける成果物:要件定義書、設計書、テスト結果など)はベースラインを設定する事によりバージョンを統一する事ができます。
ベースライン未設定
ベースライン設定後
最終的な成果物のバージョンが統一する為のベースライン設定は、今後のソースコードやドキュメントに対するメンテナンスのミスを軽減する事ができます。
4) 変更管理(構成管理)
各構成要素に対して変更された理由などの履歴を管理します。
この機能はソースコードやドキュメントなどに問題が発生した場合にトレースして問題が発生する前のバージョンに戻すなどに役立てる事ができます。
5) 他ソフトウェアとの柔軟な機能連携
Gitはオープンソースソフトウェアであるため柔軟に取り扱う事ができます。
プロジェクト管理システムとの連携(Redmine、JIRAなど)
- 実績ではRedmine(プロジェクト管理)やJIRA(プロジェクト管理)との連携で開発プロジェクトにおけるソースコード管理や中間成果物、最終成果物などの管理を実現しています。
Gitのライセンス
GitはオープンソースライセンスであるGPL, VERSION 2.0となっています。
Gitの入手先
Gitの安定版、最新版は以下よりダウンロードできます。