3

ステージング領域に次のようなファイルがあるとします。

#   modified:   application/controllers/controller.php
#   modified:   application/views/protected_views/some_view.php
#   modified:   less/style.less

たとえば、controller.php だけで diff を表示したい場合は、次のコマンドを実行する必要があります。

# git diff application/controllers/controller.php

これは、ステージング領域でのみファイルを探すようにgitに指示する方法(おそらく渡すオプション)なのだろうか?したがって、次のようなものを実行できます。

# git diff controller.php

したがって、現在のディレクトリに controller.php ファイルがなくても、ステージング領域に controller.php という名前のファイルがあることがわかり、バックグラウンドで自動的にいくつかの魔法を実行して正しいファイルにアクセスしますか? 明らかに、同じ名前の 2 つのファイルが存在する状況が発生する可能性があり、明らかにパスの完全または一部が必要になります。

つまり、ファイルへのフルパスを入力せずに、ステージングされたファイルで git を実行する方法はありますか?

4

3 に答える 3

1

ステージングされたすべてのファイルを比較したいだけで、他の違いを表示したくない場合:

git diff --staged

1 つのファイルだけを比較したい場合:

git diff -- full/path/to/file

特定の名前を持つすべてのファイルを比較するには (ディレクトリに関係なく):

git ls-files | grep filename | xargs git diff --
于 2013-06-05T01:40:53.543 に答える
0

あなたがやりたいことをするために私が考えることができる唯一の方法は、ファイルが置かれているディレクトリにいることです.あなたの例では、PROJECT/application/controllers/あなたgit diff controller.phpが.

于 2013-06-05T01:37:35.993 に答える