回答:
パスを明示的に指定します。
git diff HEAD:full/path/to/foo full/path/to/bar
ドキュメントの--find-renames
オプションを確認してください。git-diff
クレジット:twaggs。
git diff <path> <path>
は、gitリポジトリにないファイルでも、2つのファイルを比較できることです。
git diff --help
、2つのファイルでサポートされているパターンはだけであることがわかりますgit diff [<options>] --no-index [--] <path> <path>
。git diff a b
ファイルではなく、コミットパターンのみに一致します。
--no-index
。Gitで制御されている作業ツリーでコマンドを実行し、少なくとも1つのパスが作業ツリーの外を指している場合、またはGitで制御されている作業ツリーの外でコマンドを実行する場合は、オプションを省略できます。 。
私は--no-index
あなたが探しているものを使用すると信じています:
git diff [<options>] --no-index [--] <path> <path>
gitマニュアルで述べたように:
このフォームは、ファイルシステム上の指定された2つのパスを比較するためのものです。Gitによって制御されている作業ツリーでコマンドを実行し、少なくとも1つのパスが外部を指している場合は、
--no-index
オプションを 省略できます。が作業ツリーのている場合、またはGitによって制御されている作業ツリーの外で。
PhpStormを使用して、前のコミットコードをコピーし、組み込みの「クリップボードと比較」ツールを使用して現在のバージョンと比較します。
git diff --no-index --word-diff old_file.txt new_file.txt
、-no -indexフラグがそのためであることがわかりました(たとえば、-word-diffは、行ごとではなく単語ごとの変更を強調表示します。これは長いテキストに非常に役立ちます)。