HEAD修订的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HEAD修订的问题相关的知识,希望对你有一定的参考价值。
我尝试在脚本中在Mac OS X 10.11上执行命令git rev-list HEAD --count
。
#!/bin/bash
git=`sh /etc/profile; which git`
buildNumber=`"$git" rev-list --all |wc -l`
echo "$buildNumber"
但我得到下一个错误:
用法:git rev-list [OPTION] ... [ - paths ...]限制输出: - max-count =
我的脚本位于gitRepository/Folder/Scripts/my_script.sh
如果我在root git文件夹中运行git rev-list HEAD --count
,我得到结果1049,但是如果我从../Scripts
运行它我得到一个错误:
致命的:模糊的论点'HEAD':未知的修订或路径不在工作树中。使用' - '将路径与修订分开,如下所示: 'git <command> [...] - [...]'
它不是一个空的存储库。
可能是什么问题呢?
在大多数情况下,需要读取/写入特定存储库的Git命令,即除了配置和帮助之外的大多数命令都需要在git存储库中的某处执行。这将意味着包含.git
目录及其子目录的任何目录以及裸存储库的根目录。
您收到的错误表明当前目录不是Git目录。
要将cd
修复到所需目录或使用类似以下命令:
git --git-dir=/path/to/repo/.git rev-list HEAD --count
正确的命令,除了添加--git-dir与适当的Git repo文件夹,将是:
git rev-list --count HEAD
参见commit 8d6ba49的commit b00b6ac,commit 61de0ff,commit dcbaa0b,commit bdbc17e,commit a378fee,commit 441ee35,Matthew DeVore (matvore
)(2018年10月5日)。
(由Junio C Hamano -- gitster
--合并于commit f2e2136,2018年10月16日)
tests
:正确地命令git-rev-list的参数在调用
git-rev-list
时将位置参数放在标志之前是一个常见的错误。 最后排序位置参数。
例如,不要这样做:
git -C pc1 rev-list HEAD --quiet --objects --missing=print
但:
git -C pc1 rev-list --quiet --objects --missing=print HEAD
以上是关于HEAD修订的问题的主要内容,如果未能解决你的问题,请参考以下文章
尝试通过 Homebrew 安装 Hugo - “无法将 HEAD 解析为修订版”
GIT 致命:模棱两可的参数“HEAD”:未知修订版或路径不在 Travis 的工作树中
尝试使用“brew tap aws/tap”命令在 ubuntu 上通过 brew 安装 aws-sam-cli,出现错误“致命:无法将 HEAD 解析为修订版”