GitMaster 基礎編 Gitの基本 - はじめに リポジトリ タグ コミット

コミット - commit

ここでは、Gitにおいて、commit(コミット)のことを紹介していきます。

基礎編

コミット

commit


basic(基礎編)

変更を記録するコミット

ファイルやディレクトリの追加・変更を、リポジトリに記録するにはコミットという操作を行います。
コミットを実行すると、リポジトリの内では、前回コミットした時の状態から現在の状態までの差分を記録したコミット(またはリビジョン)と呼ばれるものが作成されます。
このコミットは、次の図のように時系列順につながった状態でリポジトリに格納されています。このコミットを最新の物から辿ることで、過去の変更履歴やその内容を知ることができるようになっています。

これらのコミットには、コミットの情報から計算された重複のない英数字40桁の名前が付けられています。この名前を指定することで、リポジトリの中からコミットを指定することができます。
バグ修正や機能追加などの異なる意味を持つ変更は、できるだけ分けてコミットするようにしましょう。後から履歴を見て特定の変更内容を探す時に探しやすくなります。
コミットの実行時にはコミットメッセージの入力を求められます。コミットメッセージは必須となっているため、空のままで実行するとコミットが失敗します。

コミットメッセージは、他の人がコミットの変更内容を調べる場合や、自分で後から履歴を見直す際に大切な情報となるので、変更内容のわかりやすいコメントを書くように心がけましょう。 Gitでは標準的に

1行目 : コミットでの変更内容の要約
2行目 : 空行
3行目以降 : 変更した理由
        

という形式でコメントを書きます。

setup編

コミット

commit

チュートリアル1 Gitの基本

ファイルをコミットする

tutorialディレクトリに新しいファイルを追加して、リポジトリにファイルを登録してみましょう。
まずは、tutorialディレクトリの中に「sample.txt」という名前でテキストファイルを作成してください。ファイルの内容には、次のテキストを入力してください。

お使いのパソコンの環境を選んでください。

Gitコマンド

コンソール

Gitの管理下にあるディレクトリの、ワークツリーとインデックスの状態を確認するにはstatusコマンドを使用します。

        $ git status

statusコマンドを実行してtutorialディレクトリの状態を確認します。

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#     sample.txt

nothing added to commit but untracked files present (use "git add" to track)
履歴の追跡対象になっていないファイルとして、sample.txtがあります。一度インデックスに登録すると、追跡対象に登録することができます。

ファイルをインデックスに登録するにはaddコマンドを使用します。<file>はインデックスに登録するファイルを指定します。スペース区切りで複数指定することもできます。

$ git add 

パラメータに「.」を指定すると、すべてのファイルをインデックスに登録することができます。

$ git add .

それでは、sample.txtをインデックスに追加して確認してみます。

$ git add sample.txt
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#     new file:   sample.txt
#

インデックスにsample.txtが追加され、コミットの準備が整いました。 次はcommitコマンドを実行してコミットします。commitコマンドのフォーマットは次のとおりです。

$ git commit -m "<file>"

commitコマンドを実行してから状態を確認します。

$ git commit -m "first commit"
[master (root-commit) 116a286] first commit
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 sample.txt
$ git status
# On branch master
nothing to commit (working directory clean)

これで、コミットされていない変更はなくなりました。

リポジトリの変更履歴を確認してみましょう。リポジトリの変更履歴を表示するにはlogコマンドを使用します。

$ git status
# On branch master
nothing to commit (working directory clean)

Note

gitをインストールすると、gitkというツールも同時にインストールされています。これを使用すると、変更履歴をGUIで確認することもできます。

$ gitk

次は、リポジトリをみんなで共有する方法について説明いたします。


Git Master basic Gitの基本 expansion reference