MENU

NIC BLOG

Voice of the Staff

【前編】Gitの紹介

はじめまして、今回NIC BLOGを担当させていただきます

東京本部所属の岩手のしてぃぼーいです!

今回は、現在プロジェクトで使用している【Git】についてご紹介します。

★Gitとは

Gitは、ソースファイルやドキュメントなどの変更履歴やバージョンを記録・追跡するための 分散型バージョン管理ツールです。

バージョン管理のツールとして、SVNやCVS等がありますが 今回は「GitとGitLabでのバージョン管理の流れ」に着目してご紹介します。

※GitLabは、Gitを使用した開発者を支援するためのWebサービス

★Gitの構成

Gitでは、「リポジトリ」と呼ばれるものでソースファイルの変更履歴やバージョンを管理しています。リポジトリには、「リモートリポジトリ」と「ローカルリポジトリ」があります。

この2つを簡単に説明すると、

リモートリポジトリ:ソースファイルとその変更履歴を複数人で共有・管理するために使用するもの

ローカルリポジトリ:ソースファイルやその変更履歴を個人で管理するために使用するもの

となります。

★GitとGitLabでのバージョン管理の流れ

①リポジトリ作成

まず初めに、資材管理者はリポジトリを作成します。リポジトリの作成は、GitLabにて行います。

ここで作成したリポジトリをリモートリポジトリ(共有用)とします。

(作成と同時にソースファイルをリポジトリに登録したと仮定して以下の手順を説明します。)

1.PNG

②個人用リモートリポジトリ作成

開発者は、①で作成したリモートリポジトリを元に自分専用のリモートリポジトリ(個人用)を作成します。

自分専用のリモートリポジトリを作成することをGitでは、フォーク(fork)すると呼びます。

2.PNG

③リモートリポジトリ(個人用)をローカルにコピー

開発者は、GitLabのURLを元に資材をローカルにコピーします。

ローカルにコピーすることをGitでは、クローン(clone)すると呼びます。

クローンを行うと開発者のローカル端末にリモートリポジトリ(個人用)がクローンされます。

クローンしたリポジトリは、ローカルリポジトリになります。

3.PNG

④修正したソースファイルをローカルリポジトリに反映

開発者が修正したソースファイルをローカルリポジトリに反映させます。

ローカルリポジトリに反映させることをGitでは、コミット(commit)すると呼びます。

コミットするタイミングで変更履歴に表示するためのコメントを残しておくことができます。

コミットを行うと変更履歴とともにローカルリポジトリに反映されます。

4.PNG

⑤ローカルリポジトリからリモートリポジトリ(個人用)に反映

開発者がローカルリポジトリにコミットした内容をリモートリポジトリ(個人用)に反映させます。

リモートリポジトリに反映させることをGitでは、プッシュ(push)すると呼びます。

プッシュを行うと変更履歴を付与したソースファイルの情報と共にリモートリポジトリ(個人用)に反映されます。

5.PNG

⑥リモートリポジトリ(個人用)からリモートリポジトリ(共有用)に反映

リモートリポジトリ(個人用)からリモートリポジトリ(共有用)に反映させるために

開発者はGitLab上で資材管理者に対して「マージリクエスト」を行います。

マージリクエストとは、開発者が資材管理者に対してソースファイルのレビュー依頼をお願いするようなイメージです。

マージリクエストを依頼して資材管理者が確認し、問題なければリモートリポジトリ(共有用)に反映されます。

6.PNG

ここまでが、Gitでのバージョン管理を行うための流れを紹介しましたが、資材管理を行う他のツール(SVN,CVS)もほとんど流れは同じです。

Gitでは、各開発者のローカル端末に全履歴を含んだリポジトリの完全なコピーが作られます(クローン)。したがってネットワークにアクセスできないなどの理由で リモートリポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができます。これが「分散型」と呼ばれる理由です。

次回は、このあたりの話を実体験をもとに紹介できればと思っています。

前の投稿 >

カテゴリ

このブログはNIC社員が定期的な(?)更新を行っています。
各担当者は普段の業務の合間をぬってブログの記事を作成していますので、日付順で表示した場合にはいろいろなカテゴリがごちゃまぜで表示されます。
カテゴリ別の表示をしていただくと、ひとつの流れとして読みやすくなると思います。

月別アーカイブ