はじめに
本連載はWindows上でGitを利用しようとしているユーザー向けに、これから数回かけて解説します。今回はWindows上へのGitのインストールおよび基本的な使用方法について触れていきます。
対象読者
今回の対象読者は下記のとおりです。
- Windowsに関する基礎的な知識
- Gitに興味がある方
- Subversionなどの別のバージョン管理システムを利用したことがある方
必要な環境
- Git for Windows(フリー)
- Git Extensions(フリー)
Gitとは
Gitとは分散型のバージョン管理システムです。バージョン管理システムは、主にソースコードの履歴、構成管理に用いられていますが、Gitもその一つです。
バージョン管理システムの歴史は古く、SCCS、RCS、CVS、Subversion(SVN)そしてVSSなど数多くの実装が存在しますが、開発者なら、これらのうちどれかを使用した経験をお持ちの方も多いでしょう。
集中型バージョン管理システムとの違い
従来の集中型バージョン管理システムとGitの違いは、分散型であるということです。ここでは、従来型のバージョン管理システム、例えばSVNを例にとってGitと比較してみましょう。
SVNではリポジトリ(*1)は中央に1つだけ存在し、各ユーザーはリポジトリからチェックアウトを行い、作業コピーを取得します。作業コピーで必要な修正を行ったのち、修正内容をコミットとして反映します。また、リポジトリからの修正を取り込むために、アップデートを行うこともあるでしょう。しかし常に相手にするリポジトリが1つであるため、操作に戸惑うことは少ないと思います。
リポジトリとは直訳すると貯蔵庫、倉庫といった意味です。このことから、コンピュータ用語では、データを保管、集積する場所として用いられますが、バージョン管理システムでリポジトリといえば、それによって管理されたファイル群を指します。
これに対してGitでは複数のリポジトリが登場します。詳細は連載中に解説していきますが、リモートリポジトリ(*2)からクローンを行い、リポジトリの複製を作成します。修正は複製したローカルリポジトリに対して行い、リモートリポジトリへの反映にはコミットではなく、プッシュという操作を行います。コミットという操作もありますが、それはローカルリポジトリへの反映操作です。
このように、同じバージョン管理システムでも中央集権型と分散型では作業手番が異なりますし、同じ操作名(例えばコミット)でも異なる動作であるため、混乱に拍車をかけている気がします。
また、GitはLinuxカーネルのソースコード管理を行うために開発されたため、従来のUnix由来のバージョン管理システムと同じくCUIが操作の基本です。このあたりも、Windowsユーザーが使いにくいと感じてしまう原因かもしれません。
著者自身の経験としては、CUIでのGit操作に慣れてからでないと対応するGUI操作が分からないこと多くありましたので、本連載でもCUI操作を基本として解説しつつ、要所要所でGitExtensionsによるGUI操作についても解説していきます。