SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windowsユーザー向けGit入門

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

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

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

 本稿では、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で言うところの中央リポジトリ。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Gitのセットアップ

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Windowsユーザー向けGit入門連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト statemachine(statemachine)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7077 2013/04/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング