コミット

目次
  • 解説
  • 1. 学習の準備
  • 2. コミットとは
  • 3. 初回のコミットをしてみよう
  • 4. 変更をコミットしてみよう
進捗を変更する




利用OS

解説

1. 学習の準備


コミットについて学習するために、「git_lesson」プロジェクトにファイルを作成しましょう。

winmac
(1)VSCodeを起動し、ヘッダーメニューの「ファイル」>「フォルダーを開く...」から、「git_lesson」フォルダーを開いてください。
(2)git_lesson」フォルダー内に、「lesson.txt」ファイル、「readme.txt」ファイルを新規作成してください。
(3)作成したファイルの中身にそれぞれ、下記テキストをコピー & ペーストして保存してください。
(1)VSCodeを起動し、ヘッダーメニューの「ファイル」>「開く...」から、「git_lesson」フォルダーを開いてください。
(2)git_lesson」フォルダー内に、「lesson.txt」ファイル、「readme.txt」ファイルを新規作成してください。
(3)作成したファイルの中身にそれぞれ、下記テキストをコピー & ペーストして保存してください。

※VSCodeの基本操作は、『環境設定:VSCode > 基本操作』のページを確認してください。
※テキストは最後の空行も含めて入力してください。


lesson.txt
# はじめてのGit

## 学習メモ

- ローカルリポジトリを作成しました。
- コミットについて学習中です。


readme.txt
# Gitコース

## 開発環境

- リポジトリホスティングサービス
    - Bitbucket
- GUIツール
    - Sourcetree
- エディタ
    - Visual Studio Code


2. コミットとは


コミット(commit)とは、ローカルリポジトリ内の変更内容を記録する操作のことです。

ローカルリポジトリとして設定したフォルダー内にファイルを作成したり、ファイルの中身を変更した場合は、コミットを実行することで変更を記録することができます。

コミットの履歴は時系列で記録されます。コミットを実行すると、ひとつ前のコミットとの差分が新たに記録されます。

コミットメッセージとは

コミットの実行時には、コミットメッセージの入力が必要となります。コミットメッセージには変更内容の要約を記述します。

3. 初回のコミットをしてみよう


1. 学習の準備』で「git_lesson」プロジェクトに新規作成したファイルをコミットしてみましょう。

コミットの手順

まずは、『1. 学習の準備』で「git_lesson」プロジェクトに加えた変更を確認しましょう。

winmac

手順1

(1)Sourcetreeを起動し、サイドメニューから「ファイルステータス」を選択して、「ファイルステータス」画面を開いてください。

ファイルステータス」画面では、ローカルリポジトリ内で変更されたファイルの差分の確認や、コミットに関する操作ができます。

画面中央の「作業ツリーのファイル」ウインドウには、変更があったファイルが表示されます。
現在は『1. 学習の準備』で新規作成した2つのファイル「lesson.txt」「readme.txt」が表示されています。

ここまでの表示結果|「ファイルステータス」画面

手順1

(1)Sourcetreeを起動し、画面中央の「git_lesson」をダブルクリックしてください。
(2)開いた画面のサイドメニューで「ファイルステータス」が選択されていることを確認してください。
画面中央上部の、表示形式を変更するドロップダウンメニューから、「ステージングを分割して表示」をクリックしてください。

ファイルステータス」画面では、ローカルリポジトリ内で変更されたファイルの差分の確認や、コミットに関する操作ができます。

画面中央の「ステージングに未登録のファイル」ウインドウには、変更があったファイルが表示されます。
現在は『1. 学習の準備』で新規作成した2つのファイル「lesson.txt」「readme.txt」が表示されています。

ここまでの表示結果|「ファイルステータス」画面

コミットするファイルを選択する

次に、コミットに含めるファイルを選択します。

コミットで変更を記録したいファイルは、インデックスと呼ばれる領域に登録する必要があります。
インデックスステージングエリアとも呼ばれ、作業ツリーのファイル(ステージングに未登録のファイル)をステージングエリアに登録することを、ステージングといいます。

※インデックスに登録されていないファイルはコミットされません!

winmac

手順2

(1)lesson.txt」をクリックで選択し、「選択をインデックスに追加」ボタンをクリックしてステージングしてください。
(2)readme.txt」をクリックで選択し、「選択をインデックスに追加」ボタンをクリックしてステージングしてください。

※「全てインデックスに追加」ボタンをクリックすると、「作業ツリーのファイル」ウインドウにあるすべてのファイルを一括でステージングすることができます。

ここまでの表示結果

以上でコミットの対象となるファイルを選択することができました。「Index に ステージしたファイル」ウインドウに表示されているファイルがコミットの対象となります。

なお、作業途中などの理由でコミットに含めたくないファイルは、作業ツリーに残しておきます。

手順2

(1)lesson.txt」の行のチェックボックスをクリックして、ステージングしてください。
(2)readme.txt」の行のチェックボックスをクリックして、ステージングしてください。

※「ステージングに未登録のファイル」のチェックボックスをクリックすると、「ステージングに未登録のファイル」ウインドウにあるすべてのファイルを一括でステージングすることができます。

ここまでの表示結果

以上でコミットの対象となるファイルを選択することができました。「ステージング済みのファイル」ウインドウに表示されているファイルがコミットの対象となります。

なお、作業途中などの理由でコミットに含めたくないファイルは、「ステージングに未登録のファイル」ウインドウに残しておきます。

コミットメッセージを入力してコミットする

最後に、コミットメッセージに変更内容の要約を入力して、コミットを実行します。

慣習として、初回のコミットメッセージは「initial commit.」と記述することが多いので、それに従います。

手順3

(1)画面下部のテキスト入力欄に、コミットメッセージとして「initial commit.」と入力してください。
(2)右下の「コミット」ボタンをクリックして、コミットを実行してください。
winmac
手順3 (1)
手順3 (1)

以上で「git_lesson」プロジェクトに加えた変更をコミットすることができました。

コミット履歴を確認する

winmac

コミット履歴を確認するには、サイドメニューから「History」を選択します。「History」画面では、画面中央のウインドウにコミット履歴が表示されます。

ここまでの表示結果|「History」画面
コラム
コミットを識別するハッシュ値

コミットを実行すると、そのコミットには40文字のハッシュ値(暗号化された文字列)が与えられます。
コミットごとのハッシュ値一意(ほかと重複しない)となり、そのコミットを識別することができます。

上の画像では、「コミット:」に続いて表示されている「fd27129e6d24...」という値が、「initial commit.」のハッシュ値となります。
なお、上の画像に表示されている「fd27129」は、ハッシュ値の先頭7文字を切り出した値となります。

コミット履歴を確認するには、サイドメニューから「履歴」を選択します。「履歴」画面では、画面中央のウインドウにコミット履歴が表示されます。

ここまでの表示結果|「履歴」画面
コラム
コミットを識別するハッシュ値

コミットを実行すると、そのコミットには40文字のハッシュ値(暗号化された文字列)が与えられます。
コミットごとのハッシュ値一意(ほかと重複しない)となり、そのコミットを識別することができます。

上の画像では、「コミット:」に続いて表示されている「9df63bc27622...」という値が、「initial commit.」のハッシュ値となります。
なお、上の画像に表示されている「9df63bc」は、ハッシュ値の先頭7文字を切り出した値となります。

4. 変更をコミットしてみよう


git_lesson」プロジェクト内の「lesson.txt」ファイルに修正を加えて、ファイルの変更内容をコミットしてみましょう。

手順4

(1)VSCodeを開き、「lesson.txt」ファイルの6行目を下記テキストに修正して保存してください。
# はじめてのGit

## 学習メモ

- ローカルリポジトリを作成しました。
- コミットについて学習しました。

変更を確認する

winmac

Sourcetreeを開き、「History」画面からコミット履歴を確認してください。

前回のコミットから、リポジトリ内のファイルに変更がある場合、「History」画面は下のような構成になります。

ここまでの表示結果|「History」画面

History」画面の構成

(1)樹形図
前回のコミットから●がひとつ進みます。
(2)説明
「コミットされていない変更があります」と表示されます。
(3)作業ツリーのファイル
前回のコミットから変更されたファイルが表示されます。
(4)(3) で選択したファイル
(3) で選択したファイルの変更箇所がハイライトされます。
削除された行・修正前の行は赤色、追加された行・修正後の行は緑色で表示されます。

Sourcetreeを開き、「履歴」画面からコミット履歴を確認してください。

前回のコミットから、リポジトリ内のファイルに変更がある場合、「履歴」画面は下のような構成になります。

ここまでの表示結果|「履歴」画面

履歴」画面の構成

(1)グラフ
前回のコミットから●がひとつ進みます。
(2)説明
「Uncommitted changes」(コミットされていない変更があります)と表示されます。
(3)ステージングに未登録のファイル
前回のコミットから変更されたファイルが表示されます。
(4)(3) で選択したファイル
(3) で選択したファイルの変更箇所がハイライトされます。
削除された行・修正前の行は赤色、追加された行・修正後の行は緑色で表示されます。

変更をコミットする

上の手順で「lesson.txt」ファイルに加えた修正をコミットしてみましょう。

winmac

コミットの手順は『3. 初回のコミットをしてみよう』と同様です。手順1 - 手順3 を参考に、次の手順を実行してください。

手順5

(1)コミットされていない変更(「lesson.txt」)をコミットしてください。
なお、コミットメッセージは「学習メモを更新(コミットの学習)」としてください。
手順5 |コミット前

コミットの手順は『3. 初回のコミットをしてみよう』と同様です。サイドメニューから「ファイルステータス」画面を開き、手順2 - 手順3 を参考に、次の手順を実行してください。

手順5

(1)コミットされていない変更(「lesson.txt」)をコミットしてください。
なお、コミットメッセージは「学習メモを更新(コミットの学習)」としてください。
手順5 |コミット前
Tips

ファイルステータス」画面は、画面左上の「コミット」ボタンからもアクセスできます。
コミット」ボタンには、前回のコミットからリポジトリ内のファイルに差分が生じると、「差分が含まれるファイルの数」がバッヂで表示されます。

コミット履歴を確認する

winmac

サイドメニューから「History」を選択し、上の手順で実行したコミット履歴を確認してみましょう。

サイドメニューから「履歴」を選択し、上の手順で実行したコミット履歴を確認してみましょう。

コミットを実行したことにより、画面中央のウインドウの「説明」のテキストがコミットメッセージに置き換わり、ひとつ前のコミット(「initial commit.」)との差分が新たに記録されています。

なお、コミットメッセージの左に表示されている「master」は目印のようなもので、最新のコミットを指し示します。

winmac
ここまでの表示結果
ここまでの表示結果

過去のコミットの詳細は、参照したいコミットの行をクリックすることで簡単に確認することができます。

3. 初回のコミットをしてみよう』で記録した「initial commit.」の行をクリックで選択し、過去のコミットの詳細を確認してみましょう。

コミット履歴の選択時にダブルクリックをすると、下のような確認ウインドウが表示されます。確認ウインドウが表示された場合は「キャンセル」を選択してください。

winmac