SHOEISHA iD

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

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

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

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

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

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

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

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

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のリポジトリにプッシュする

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

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

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

メールバックナンバー

次のページ
EGitによるGit操作

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
20年経ってもデファクトスタンダードIDEのEclipse入門連載記事一覧

もっと読む

この記事の著者

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

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

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、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編 」他、著書多数

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14500 2021/07/29 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング