CodeZine(コードジン)

特集ページ一覧

EclipseでGit操作をしてみよう〜EGitプラグインを紹介

20年経ってもデファクトスタンダードIDEのEclipse入門 第8回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/07/29 11:00

 本連載ではIDEの1つであるEclipseを紹介していきます。Eclipseが世に出てから20年以上は経過していますが、いまだにデファクトスタンダードという不動の地位にいます。歴史もあり、さまざまな開発者に利用されているわりには、Eclipseの入門にあたるまとまった情報源は意外と少ないといえます。本連載がその一助となれば幸いです。前回は、WTPプラグインを使って、EEアプリケーションの作成方法を紹介しました。今回は、Git操作が行えるEGitプラグインを紹介します。

目次

GitとGitHub

 本項で紹介するEclipseプラグインのEGitは、第5回で紹介したように、Pleiades All in Oneにあらかじめ含まれています。そのため、すぐに使い始めることができますが、その前に、そもそもGitとは何かを知っておく必要があります。そこから話を始めていきましょう。もっとも、Gitの解説だけで1冊の書籍が作れるぐらいの内容です。そのため、ここでは簡単な解説にとどめることをご了承ください。

ソースコードの履歴管理を行うバージョン管理システム

 Gitは、バージョン管理システムの1つです。バージョン管理システムとは、ファイルの更新履歴を管理するシステムで、ソースコードファイルの管理には、ほぼ必須のツールといえます。

 バージョン管理システムでは、履歴管理対象のファイル類をまとめておく場所をリポジトリといいます。そして、そのファイル類を更新した場合、バージョン管理システムは、ファイル中のどこの部分を誰が更新したかを記録します。ユーザは、ファイルを更新したことをバージョン管理システムに伝えるだけでよいようになっています(図1)。

図1: バージョン管理システムの仕組み
図1: バージョン管理システムの仕組み

集中型バージョン管理システム

 このバージョン管理システムは、歴史的には、Gitとは違う仕組みである、集中型バージョン管理システムという仕組みが先に開発されています。集中型バージョン管理システムは、リポジトリをネット上のどこか1カ所に用意し、個々のユーザはそのリポジトリからファイル類をまとめて自分のPCにコピーして作業する仕組みとなっています。

 このコピーすることをチェックアウト、コピーしてきたファイル類を作業コピーといいます。チェックアウトしたファイルに変更を加え、それをリポジトリに反映させることをコミットと呼びます。また、他の人がコミットした内容を自分の作業コピーに反映させることをアップデートといいます(図2)。

図2: 集中型バージョン管理システムの仕組み
図2: 集中型バージョン管理システムの仕組み

分散型バージョン管理システム

 集中型バージョン管理システムは、ネット上にリポジトリがあることから、オフラインでは使えない、障害に弱い、柔軟性に欠けるなどの欠点があり、それらを改善させるために考えだされたのが分散型バージョン管理システムです。そして、その分散型バージョン管理システムのデファクトスタンダードとなっているのが、Gitです。

 分散型バージョン管理システムが、集中型バージョン管理システムと決定的に違うところは、自分のPCにコピーするものが作業用のファイル一式ではなく、リポジトリそのものであることです。そのため、コピー元のリポジトリを中央リポジトリ、あるいはリモートリポジトリ、コピーしてきたリポジトリをローカルリポジトリといい、リポジトリのコピーをクローンといいます(図3)。

図3: 分散型バージョン管理システムの仕組み
図3: 分散型バージョン管理システムの仕組み

 個々のユーザは、ローカルリポジトリのファイルそのものを編集し、ローカルリポジトリにコミットします。コミット先リポジトリが手元のPCにあるため、オフラインでもコミットができます。また、あくまでローカルリポジトリへのコミットのため、このコミット内容を他のユーザに知られることはありません。間違った内容をコミットしてもよく、その間違ったコミットを取り消して無かったことにもできます。

 一通り作業が終了し、他のユーザとその内容を共有する必要が出てきた際に、まとめてリモートリポジトリに反映させます。これを、プッシュといいます。逆に、リモートリポジトリの最新状態を、ローカルリポジトリに反映させることをプルといいます。

GitホスティングサービスとしてのGitHub

 Git自体はオープンソースなので、ダウンロードしてどこかのサーバにインストールすれば利用できます。しかし、ローカルリポジトリならいざ知らず、リモートリポジトリそのものの管理というのは、さまざまなコストがかかってきます。そこで、そのリモートリポジトリをホスティングし、サービスとして利用できるようにしたのがGitホスティングサービスです。

 これらのGitホスティングサービスは、単にリモートリポジトリを提供するだけではなく、Webインターフェースや、タスクやバグを管理するチケットサービスなど、さまざまな付加価値をつけていることがほとんどです。

 そのようなGitホスティングサービスのうち、デファクトスタンダードとなっているのが、GitHubです。本記事でも、このGitHubをリモートリポジトリとし、EclipseのEGitプラグインを利用しながらGitの使い方を紹介します。

これからの手順

 概論はここまでにして、次節から実際にEGitとGitHubを使ってEclipseのプロジェクトを管理する方法を紹介します。その際、次の手順で行います。

  1. Eclipseでプロジェクトを作成する
  2. プロジェクトをGitのローカルリポジトリ化する
  3. GitHubのリポジトリを作成する
  4. ローカルリポジトリをGitHubのリポジトリにプッシュする

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

バックナンバー

連載:20年経ってもデファクトスタンダードIDEのEclipse入門

もっと読む

著者プロフィール

  • WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

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

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

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

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5