Git チュートリアル-差分を比較するための diff
作業コピー(メインファイルで作業しているファイル)とリポジトリの間の変更または相違を表示します。方法を示します。2 番目の部分では、ステージング領域とリポジトリを比較する方法を示します。
作業用コピーとリポジトリの違いを確認する
ファイルを保存すると、作業コピー上のこのファイルはリポジトリ内のファイルとは異なります。しかし、これらの変更をどのように正確に見るのでしょうか?時々、ファイルにいくつかの変更を加え、リポジトリ内の変更を表示したいので、コードを操作しているときは常に、これが頻繁に行われます。メインプロジェクト。
したがって、最初にできることは、git status
を確認することです。1つのファイルが変更されていることがわかります。つまり、メインプロジェクトまたはメインリポジトリのファイルとは異なります。git diff
と入力して Enter キーを押すと、違いが表示されます。
$ git diff
diff --git a/test1.txt b/test1.txt
index e1dd8e3..448ad04 100644
--- a/test1.txt
+++ b/test1.txt
@@ -1,2 +1,2 @@
-This is my first Git repository.
-New added text.
\ No newline at end of file
+This was my first Git repository.
+This line is updated.
\ No newline at end of file
git bash
の赤色のテキストはリポジトリの内容を示し、緑色のテキストはテキストの変更方法を示します。
最後のコミット後にさらにファイルが更新されている場合、Git はファイルの違いを 1つずつリストします。
Git diff 外部ツール
git のデフォルトの diff
ツールに慣れていない場合は、difftool
を好みのものに設定できます。
kdiff3
を Git の diff
、merge
ツールとして設定する方法を示します。
.gitconfig
ファイルのディレクトリを変更する
Windows OS では、ディレクトリ C:\Users\username
にある .gitconfig
ファイルを開き、ファイルにテキストを追加します。
[diff]
tool = kdiff3
[difftool "kdiff3"]
path = "C:/Program Files/KDiff3/kdiff3.exe"
trustExitCode = false
[difftool]
prompt = false
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = "C:/Program Files/KDiff3/kdiff3.exe"
trustExitCode = false
[mergetool]
keepBackup = false
ここで、path
は kdiff3
のインストールされたパスであり、あなたの側で異なる可能性があります。
git bash 経由で difftool
を設定する
git bash のコマンドを使用して、difftool
または mergetool
を設定することもできます。
git config --global --add merge.tool kdiff3
git config --global --add mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add mergetool.kdiff3.trustExitCode false
git config --global --add diff.guitool kdiff3
git config --global --add difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe"
git config --global --add difftool.kdiff3.trustExitCode false
git config --global --add difftool.prompt false
.gitconfig
ファイルの内容を変更するのと基本的に同じことを行いました。
ステージング領域とリポジトリの違いを確認する
git difftool
コマンドを使用して、作業コピーとリポジトリのファイルの違いを確認できます。
git diff
は作業コピーとリポジトリの違いを示し、ファイルが既にステージング領域に追加された後、 git diff
はステージング領域とリポジトリを比較しないため、このファイルの違いを表示しません。、そのため、このファイルはまだリポジトリ内のファイルとは異なりますが、すべてが最新のように見えます。
ステージングを比較する適切なコマンドは、リポジトリは git diff
の後ろにオプション --staged
を追加することです。
$ git diff --staged
diff --git a/test1.txt b/test1.txt
index e1dd8e3..448ad04 100644
--- a/test1.txt
+++ b/test1.txt
@@ -1,2 +1,2 @@
-This is my first Git repository.
-New added text.
\ No newline at end of file
+This was my first Git repository.
+This line is updated.
\ No newline at end of file