Git diff 部分文件名

Git diff partial file name

有没有办法指定部分文件名以节省击键次数?

而不是:

git diff path/path/path/path/path/somefilename.js

类似于:

git diff *somefilename.js

或者:

git diff .somefilename.js

git diff -- "**/somefilename.js"

不是基于git,但我经常使用类似

的东西
<command> $(git ls-files | grep 'somefilename.js')

指定一个具有在存储库中唯一的基本名称的文件。在这种情况下,那将是 git diff $(git ls-files | grep 'somefilename.js'.

git ls-files 将列出您的存储库中跟踪的所有文件。然后,您可以 grep 获取基本名称以获取文件的全名。通过在子 shell ($(...)) 中执行此操作,您可以将该全名插入到您想要的任何命令中。