Loading
連載
» 2016年04月26日 05時00分 UPDATE

こっそり始めるGit/GitHub超入門(2):“はじめのGit”――超基本的な作業フローと5つのコマンド (1/3)

本連載では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。今回は、Gitの基本的な作業フローに登場する3つの場所について図を交えて解説し、フローごとにコマンドの使い方を紹介します。

[平屋真吾,クラスメソッド]

まずは、とにかく手を動かして試してみないと

 本連載「こっそり始めるGit/GitHub超入門」では、バージョン管理システムGit」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、本連載を最後まで読み終える頃には、GitやGitHubの基本的な操作が身に付いた状態になっていると思います。

 連載第2回目の本稿のテーマは「Gitの基本的な作業フローを学ぶ」です。

 前回の「初心者でもWindowsやMacでできる、Gitのインストールと基本的な使い方」でも「Gitの基本的な作業フロー」を扱いましたが、かなり急ぎ足な解説となってしまいました。今回は、作業フローの各要素について、前回よりも詳しく解説していきます。

 「Gitのインストール」や「初期設定」については、前回の記事で解説したので、そちらを参考にしてください。また「バージョン管理システムそのもの」「Gitと他のバージョン管理システムとの違い」などについては、記事「ガチで5分で分かる分散型バージョン管理システムGit」を参照してください。

Gitの基本的な作業フロー

 バージョン管理を利用したソフトウェア開発では「バグ修正の完了」「機能の追加完了」などの「ある特定のタイミング」ごとに各ソースコードの状態をリポジトリに保存します。Gitを使用する場合、「ファイルの変更」から「ファイルの状態の保存」までの1サイクルの間に以下の3つの操作を行うことになります。

  1. 「作業ディレクトリ」上のファイルを変更する(あるいはファイルを新たに追加する)
  2. 変更済みのファイルをステージする
    • 「git add」コマンドを使用して「変更済みのファイル」を「ステージングエリア」に追加する
  3. ステージ済みのファイルをコミットする
    • 「git commit」コマンドを使用して、手順2でステージしたファイルの「スナップショット」を「Gitリポジトリ」に保存する

 これが「Gitの基本的な作業フロー」です。

Gitの基本的な作業フローに登場する3つの場所

 上記「作業フロー」で登場した「場所」を整理すると、以下の通りになります。

news019_1.jpg 図1 Gitの基本的な作業フローに登場する3つの場所
  1. Gitリポジトリ(Git Repository)
    • ファイルのスナップショットなどを保存する領域
    • 実態は「作業ディレクトリ」の中の「.gitディレクトリ」
  2. 作業ディレクトリ(Working Directory)
    • ファイルの編集作業を行うディレクトリ
    • Gitを使ったバージョン管理では、作業ディレクトリ内のファイルの変更履歴を保存していく
  3. ステージングエリア(Staging Area)
    • 「作業ディレクトリ」と「Gitリポジトリ」の中間に存在する領域。「インデックス」と呼ばれることもある
    • コミットする準備ができたファイルはここに追加する


作業ディレクトリ内のファイルの状態

 また、「作業ディレクトリ」内のファイルの状態を整理すると、以下の通りになります。

news019_2.jpg 図2 作業ディレクトリ内のファイルの状態
  1. 追跡済み(tracked):Gitが変更を追跡しているファイル
    1. 未変更(unmodified)
      • スナップショットがリポジトリに保存されているファイル
    2. 変更済み(modified)
      • Gitが変更を追跡しているが、変更がリポジトリに保存されていないファイル
    3. ステージ済み(staged)
      • ステージングエリアに追加され、次回コミットの対象となっているファイル
  2. 未追跡(untracked):Gitが変更を追跡していないファイル


Gitのコマンドラインツールを使う利点

 本連載では、基本的にコマンドラインツールを使ってGitの操作を解説していく予定です。コマンドラインツールを使う場合の利点には以下のようなものがあります。

  • Gitのコマンド群を全て実行できる
  • 環境によらず、同じ手順に沿って操作できる
       1|2|3 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

SIMフリースマホ「iPhone SE」をプレゼント!

ホワイトペーパー(TechTargetジャパン)

編集部からのお知らせ

@IT編集部では、編集記者を募集しています。ご興味のある方は奮ってご応募ください。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。