ビジュアル差分ツールの使用
デフォルトの回答 (コマンド ラインで)
ここでの上位の回答は、次のキャッシュ/ステージングされた変更を表示する方法を正しく示していますIndex
。
$ git diff --cached
または$ git diff --staged
エイリアスです。
代わりに Visual Diff ツールを起動する
デフォルトの回答は、git bash で (つまり、コマンド ラインまたはコンソールで) diff の変更を吐き出します。ステージングされたファイルの違いを視覚的に表現したい場合は、コマンド ラインでファイルを表示するのではなく、表示されたファイルごとに視覚的な差分ツールを起動するスクリプトを git 内で使用できますdifftool
。
$ git difftool --staged
これは と同じことを行いますがgit diff --staged
、diff ツールが実行されるたびに (つまり、ファイルが diff によって処理されるたびに)、デフォルトのビジュアル diff ツールが起動されます (私の環境では、これはkdiff3です)。
ツールの起動後、ビジュアル差分ツールが閉じられるまで git diff スクリプトは一時停止します。したがって、次のファイルを表示するには、各ファイルを閉じる必要があります。
in git コマンドdifftool
の代わりにいつでも使用できますdiff
すべてのビジュアル差分のニーズに対して、すべてのオプションを含むgit difftool
任意のgit diff
コマンドの代わりに機能します。
たとえば、ファイルごとに実行するかどうかを確認せずにビジュアル差分ツールを起動するには、-y
オプションを追加します (通常はこれが必要になると思います!!)。
$ git difftool -y --staged
この場合、ビジュアル差分ツールの各ファイルを一度に 1 つずつ取得し、ツールを閉じた後に次のファイルを表示します。
または、ステージングされた特定のファイルの差分を確認するにはIndex
:
$ git difftool -y --staged <<relative path/filename>>
すべてのオプションについては、man ページを参照してください。
$ git difftool --help
ビジュアル Git ツールのセットアップ
デフォルト以外のビジュアル git ツールを使用するには、次の-t <tool>
オプションを使用します。
$ git difftool -t <tool> <<other args>>
または、別のデフォルトのビジュアル差分ツールを使用するように git を構成する方法については、difftool のマニュアル ページを参照してください。
.gitconfig
diff/merge ツールとしての vscode のエントリ例
difftool のセットアップの一部には、.gitconfig
ファイルを舞台裏で変更する git コマンドを使用するか、ファイルを直接編集するかのいずれかで、ファイルを変更することが含まれます。
は、Unix や通常の Windows.gitconfig
などのホーム ディレクトリにあります)。~
c:\users\<username>
.gitconfig
または、デフォルトの Git エディターでユーザーを開くことができますgit config -e --global
。
.gitconfig
差分ツールとマージ ツールの両方としての VS Codeのグローバル ユーザーのエントリの例を次に示します。
[diff]
tool = vscode
guitool = vscode
[merge]
tool = vscode
guitool = vscode
[mergetool]
prompt = true
[difftool "vscode"]
cmd = code --wait --diff \"$LOCAL\" \"$REMOTE\"
path = c:/apps/vscode/code.exe
[mergetool "vscode"]
cmd = code --wait \"$MERGED\"
path = c:/apps/vscode/code.exe