我希望检查特定提交的特定文件中的更改(通过其SHA1)。
我有一个git提交的SHA1 - 16a75e59,在此提交中有几个文件被更改。我只想检查其中一个更改 - /www/htdocs/doms/js/Test.js。
我知道此文件已在此提交中更改: 如果我跑
git show 16a75e59 | grep Test.js
我得到了
echo Resolve::minify( file_get_contents( '/www/htdocs/doms/js Test.js' ) );
diff --git a/www/htdocs/doms/js/Test.js b/www/htdocs/doms/js/Test.js
--- a/www/htdocs/doms/js/Test.js
+++ b/www/htdocs/doms/js/Test.js
但是当我尝试
时 git show 16a75e59 www/htdocs/doms/js/Test.js
我得到了
fatal: ambiguous argument 'www/htdocs/doms/js/Test.js': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
更新:尝试 - 并且一切正常。似乎是我第一次尝试 - 使用前导斜线。
答案是:git show 16a75e59 -- www/htdocs/doms/js/Test.js
答案 0 :(得分:3)
如果&#34;没有工作&#34;你有这样一条消息:
$ git show d8b396e /t/t7509-commit.sh
fatal: ambiguous argument '/t/t7509-commit.sh': unknown
revision or path not in the working tree.
(注意:我自己拆分线以使其更合适,它是原始的一行),然后是因为/path/to/file.js
包含一个前导斜杠。删除它:
$ git show d8b396e t/t7509-commit.sh
commit d8b396e17ecfe28b39b5f4470f791c434cce40ec
Author: Fabian Ruch ...
...
diff --git a/t/t7509-commit.sh b/t/t7509-commit.sh
index b61fd3c..9ac7940 100755
--- a/t/t7509-commit.sh
+++ b/t/t7509-commit.sh
(如果您在原始问题中准确显示您使用的命令和确切的错误消息,则会有所帮助。这通常可以避免需要猜测问题。)
答案 1 :(得分:1)
可能您可以尝试git diff
命令
检查
git diff SHA1^ SHA1 /path/to/file.js