Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

WindowsにGit環境をインストールする

Windowsユーザー向けGit入門(1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/04/18 14:00

 本稿では、Git for Windowsをベースに、Windows上でのGit操作について解説します。

目次

はじめに

 本連載はWindows上でGitを利用しようとしているユーザー向けに、これから数回かけて解説します。今回はWindows上へのGitのインストールおよび基本的な使用方法について触れていきます。

対象読者

 今回の対象読者は下記のとおりです。

  • Windowsに関する基礎的な知識
  • Gitに興味がある方
  • Subversionなどの別のバージョン管理システムを利用したことがある方

必要な環境

  • Git for Windows(フリー)
  • Git Extensions(フリー)

Gitとは

 Gitとは分散型のバージョン管理システムです。バージョン管理システムは、主にソースコードの履歴、構成管理に用いられていますが、Gitもその一つです。

 バージョン管理システムの歴史は古く、SCCS、RCS、CVS、Subversion(SVN)そしてVSSなど数多くの実装が存在しますが、開発者なら、これらのうちどれかを使用した経験をお持ちの方も多いでしょう。

集中型バージョン管理システムとの違い

 従来の集中型バージョン管理システムとGitの違いは、分散型であるということです。ここでは、従来型のバージョン管理システム、例えばSVNを例にとってGitと比較してみましょう。

図1:SVNの概念図
図1:SVNの概念図

 SVNではリポジトリ(*1)は中央に1つだけ存在し、各ユーザーはリポジトリからチェックアウトを行い、作業コピーを取得します。作業コピーで必要な修正を行ったのち、修正内容をコミットとして反映します。また、リポジトリからの修正を取り込むために、アップデートを行うこともあるでしょう。しかし常に相手にするリポジトリが1つであるため、操作に戸惑うことは少ないと思います。

*1

 リポジトリとは直訳すると貯蔵庫、倉庫といった意味です。このことから、コンピュータ用語では、データを保管、集積する場所として用いられますが、バージョン管理システムでリポジトリといえば、それによって管理されたファイル群を指します。

図2:Gitの概念図
図2:Gitの概念図

 これに対してGitでは複数のリポジトリが登場します。詳細は連載中に解説していきますが、リモートリポジトリ(*2)からクローンを行い、リポジトリの複製を作成します。修正は複製したローカルリポジトリに対して行い、リモートリポジトリへの反映にはコミットではなく、プッシュという操作を行います。コミットという操作もありますが、それはローカルリポジトリへの反映操作です。

 このように、同じバージョン管理システムでも中央集権型と分散型では作業手番が異なりますし、同じ操作名(例えばコミット)でも異なる動作であるため、混乱に拍車をかけている気がします。

 また、GitはLinuxカーネルのソースコード管理を行うために開発されたため、従来のUnix由来のバージョン管理システムと同じくCUIが操作の基本です。このあたりも、Windowsユーザーが使いにくいと感じてしまう原因かもしれません。

 著者自身の経験としては、CUIでのGit操作に慣れてからでないと対応するGUI操作が分からないこと多くありましたので、本連載でもCUI操作を基本として解説しつつ、要所要所でGitExtensionsによるGUI操作についても解説していきます。

*2

 SVNで言うところの中央リポジトリ。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト statemachine(statemachine)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2012年2月時点での登録メンバは37名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Windowsユーザー向けGit入門
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5