如何解决Git致命:模棱两可的参数“提交哈希”:未知修订或路径不在工作树中
我正在尝试使用git CLI做一些相当简单的脚本。我最终想要做的是使用git显示两次提交之间的所有文件更改,这应该像“ git diff [commit1] [commit2]”之类的内容一样简单。
但是我什至无法通过'git diff [commit]'获得一次提交的差异。我使用git init在本地创建了一个仓库,然后制作了一些虚拟文件和文件夹。我尝试使用git diff并遇到了这个问题。我以为问题可能出在我没有使用分支,所以尝试通过'git checkout -b my / branch'创建一个分支,进行了更多提交,但我仍然遇到这个问题。
我尝试在此处进行搜索,发现情况和解决方案比我在此处尝试创建原型的简单脚本用例要复杂得多。
λ git log
commit 6d107f6bcff58b263d8611c19c770c6370d7a33c (HEAD -> my/branch)
Author: ---
Date: Tue Oct 13 15:07:35 2020 -0700
filemodcheck
λ git diff c6370d7a33c
fatal: ambiguous argument 'c6370d7a33c': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions,like this:
'git <command> [<revision>...] -- [<file>...]'
如果我发送类似'git diff [commit1] [commit2]'之类的东西,并且尽管通过'git log'找到了所有选定的提交,但我还是从master而不是从分支中选择了提交,也会出现此问题。
谢谢!
解决方法
那是因为您使用的是哈希的最后一个字符,而不是第一个。
尝试:
git diff 6d107f6
简短的Git哈希由SHA-1校验和的前个n字符(默认为7个)组成。由于您使用的是最后一个字符,因此Git无法识别散列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。