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