
前回、前々回でステージングエリアへの登録、コミットまで行いましたが、今回は、ファイルの差分を確認する機能についてです。
目次
1.git diffによる差分確認について
差分を確認するためのコマンドとしては、「git diff」を使用します。
はじめに、ワーキングツリーとステージングエリアの差分を確認してみます。
事前準備として、たとえば、ワークツリー内のファイル「Test.txt」内にエディターで、1行目に"git1"、2行目に"git2"と記載しておきます。
この状態で、「git diff」コマンドを実行すると、
$ git diff diff --git a/Test.txt b/Test.txt index e69de29..dde4690 100644 --- a/Test.txt +++ b/Test.txt @@ -0,0 +1,2 @@ +git1 +git2
のように表示されます。
追加された行は先頭に「+」がついて緑色で表示され、削除された行は先頭に「-」がついて赤色で表示されます(上の例は色はついてませんが実際には色付きで表示されます)。
今回は1行目に"git1"、2行目に"git2"を追加しているため、それぞれ「+」つきで表示されています。削除はないため「-」表示はありません。
次に、これを
$ git add -A
でステージングエリアに登録します。
この状態で、「git diff」を実行すると、
$ git diff
ということで、ワーキングツリーとステージングエリアのファイルの間に差分がないため何も表示されません。
ここで、元ファイルの「Test.txt」の2行目の"git2"を削除し、"git3"を追加します。
この状態で、「git diff」を実行すると、
$ git diff diff --git a/Test.txt b/Test.txt index dde4690..ae056bb 100644 --- a/Test.txt +++ b/Test.txt @@ -1,2 +1,2 @@ git1 -git2 +git3
のような表示になります。
2行目の"git2"が削除されたため、「-」つきで"git2"が表示され、その後"git3"を追加したため、「+」つきで"git3"が表示されています。
次に、ステージングエリアとローカルリポジトリの間の差分を確認するには、「--cached」を追加して、「git diff --cached」を使用します。
現在の状態で実行すると、
$ git diff --cached diff --git a/Test.txt b/Test.txt index e69de29..dde4690 100644 --- a/Test.txt +++ b/Test.txt @@ -0,0 +1,2 @@ +git1 +git2
のように表示されます。
ステージングエリアにのみ、先程追加したファイル「Test.txt」が存在するため、「Test.txt」のそれぞれの行が「+」つきで表示されています。
ステージングエリアにあるのは1行目に"git1"、2行目に"git2"を追加した最初の状態のファイルです。
ここで、
$ git commit -m "First commit"
でコミットし、再度「git diff --cached」を実行すると、
$ git diff --cached
のように、差分がないため何も表示されません。
続いて、ワーキングツリー内にある1行目に"git1"、2行目を"git2"から"git3"に変更したファイルを
$ git add -A
でステージングエリアに登録します。
ここで、再度「git diff --cached」を実行すると、
$ git diff --cached diff --git a/Test.txt b/Test.txt index dde4690..ae056bb 100644 --- a/Test.txt +++ b/Test.txt @@ -1,2 +1,2 @@ git1 -git2 +git3
のような表示になります。
ワーキングツリーとステージングエリアとの比較の時にあった内容と同様ですが、
ステージングエリア側の「Test.txt」ファイル内の2行目の"git2"が削除されたため、「-」つきで"git2"が表示され、そこに"git3"を追加したため、「+」つきで"git3"が表示されています。
2.ワーキングツリーなどの登録と差分確認の概略イメージについて
ワーキングツリー、ステージングエリア、ローカルリポジトリ間の登録と差分確認の概略イメージを図示すると以下のようになります。

また、Git、GitHubについてのインストール、設定やいろいろなやり方についてこれまで記載してきた記事を一覧として以下にまとめましたのでよかったらご参照ください。
これは「Git、GitHubの使い方」の4回目になります。
はじめから読んでみたいという方はこちらになります。
全体を通して一通りの手順を見たいような場合はこちらに記載しています。
それでは本題になります。
Gitのダウンロード、インストールやWindowsの場合にMacのターミナルの代わりになるGit Bashの設定方法などが終了したら、Gitの設定をします。
Gitの設定を行う場合には、「git config」というコマンドを使用します。
「git config」を使用して、ユーザー名やメールアドレスを設定しておきます。
まずはじめに、ユーザー名を設定します。
以下では、ユーザー名に相当する「user.name」に「testname」という名前を設定しています。
git config --global user.name testname
設定後、「git config」に「--list」を追加した以下のようなコマンドにて設定内容を確認することができます。
git config --list
これにて、設定内容一覧が表示されます。
続いて、メールアドレスを設定します。
以下の例では、メールアドレスに相当する「user.email」に「testaddress@example.com」というアドレスを設定しています。
git config --global user.email testaddress@example.com
再度、設定内容を確認します。
git config --list
以上が、「git config」というコマンドを使用したユーザー名とメールアドレスの設定と設定内容の確認になります。
「Gitのユーザー名とメールアドレスの設定方法」はここまでです。
次は、「Gitの初期化、「git init」について」になります。
また、Git、GitHubについてのインストール、設定やいろいろなやり方についてこれまで記載してきた記事を一覧として以下にまとめましたのでよかったらご参照ください。
わかりやすい本を手元に置いて読みながらやっていきたいという方には以下に初心者、初級者へのおすすめの入門書を記載していますのでよかったら参考にしてください。
関連記事:
【Git】Gitのダウンロード、インストール方法 - Django Girls and Boys 備忘録
【Git】付属ツールGit Bashについて、起動方法 - Django Girls and Boys 備忘録
【Git】Git Bashのホームディレクトリ変更方法 - Django Girls and Boys 備忘録
【Git GitHub】初心者、初級者におすすめの入門書 - Django Girls and Boys 備忘録
【Python Django】git init について - Django Girls and Boys 備忘録
【Git】ユーザー名とメールアドレスの設定方法 - Django Girls and Boys 備忘録
【Git】git addとステージングエリア(インデックス)への登録について - Django Girls and Boys 備忘録
【Git】git commitとローカルリポジトリへの登録、gitの概略イメージ - Django Girls and Boys 備忘録
【Git】git diffによる差分確認について - Django Girls and Boys 備忘録
【Git GitHub】GitHubのアカウント作成方法 - Django Girls and Boys 備忘録
【Git GitHub】公開鍵の設定方法 - Django Girls and Boys 備忘録
【Git GitHub】Gitのダウンロード、インストールから「git add」、「git commit」によるGitへの登録までの一通りの方法 - Django Girls and Boys 備忘録
【Git GitHub】「git add」、「git commit」後の「git push」について、リモートリポジトリにプッシュする方法 - Django Girls and Boys 備忘録