Git Tutorials

Git Diff完全マスターガイド

Spread the love

Gitのdiffコマンドは、プロジェクトの変更を理解するために非常に役立ちます。ファイルの異なるバージョンを比較し、修正箇所を特定し、コミットする前に変更を確認することができます。このチュートリアルでは、git diffの主要な使用方法を、明確さと実践的な応用を重視して説明します。

目次

作業コピーとリポジトリの比較

作業コピーは、ローカルマシン上のプロジェクトファイルを表します。リポジトリは、Gitによって管理されるバージョン履歴を格納します。git diff(引数なし)は、作業コピー内のステージングされていない変更を表示します。


git diff

出力には、追加(+)、削除(-)、および変更が表示されます。例:


--- a/my_file.txt
+++ b/my_file.txt
@@ -1,3 +1,4 @@
 This is line 1
 This is line 2
+This is a new line
 This is line 3

これは、my_file.txtに新しい行が追加されたことを示しています。--- a/+++ b/は、古いファイルバージョンと新しいファイルバージョンを表します。特定のファイルを比較するには:


git diff my_file.txt

ステージングエリアとリポジトリの比較

ステージングエリアは、次のコミットのために準備した変更を保持します。git diff --staged(またはgit diff --cached)は、ステージングされた変更と最後のコミットとの違いを示します。


git diff --staged

これは、コミットする前に変更を確認するために重要です。ファイル名を指定して比較を制限することができます。

外部Diffツールの使用

Gitのデフォルトのテキストベースのdiffは、複雑な変更には難しい場合があります。外部Diffツールは、視覚的な比較、構文の強調表示、その他の便利な機能を提供します。git configを使用して外部ツール(Meld、KDiff3、Beyond Compareなど)を設定します。


git config --global diff.external meld

meldをツールのコマンドに置き換えてください。コマンドと必要なシステム固有の調整については、ツールのドキュメントを参照してください。

高度なgit diffオプション

git diffには、他にも多くのオプションがあります。例えば:

  • git diff --check:空白エラーを検出します。
  • git diff --summary:変更の簡潔な概要を提供します。
  • git diff <commit1>..<commit2>:2つのコミットを比較します。
  • git diff --word-diff:単語単位で変更を強調表示します。

これらのオプションを試して、git diffを自分のワークフローに合わせて調整してください。git diffを習得することは、効率的なGitの使用に不可欠です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です