我尝试在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计数=
我的脚本位于gitRepository/Folder/Scripts/my_script.sh
如果我在root git文件夹中运行git rev-list HEAD --count
,我会得到结果1049,但是如果我从../Scripts
运行它,我会收到错误:
致命:含糊不清的争论' HEAD':未知版本或路径不在 工作树。使用' - '将路径与修订分开,如下所示:
' git< command> [...] - [...]'
它不是一个空的存储库。
可能是什么问题?
答案 0 :(得分:0)
在大多数情况下,需要读取/写入特定存储库的Git命令,即除了配置和帮助之外的大多数命令都需要在git存储库中的某处执行。这意味着任何包含.git
目录及其子目录的目录以及裸存储库的根目录。
您收到的错误表明当前目录不是Git目录。
要将cd
修复到所需目录,或使用类似以下命令的内容:
git --git-dir=/path/to/repo/.git rev-list HEAD --count
答案 1 :(得分:0)
除了添加--git-dir和正确的Git repo文件夹之外,正确的命令是:
Intent intent = new Intent(MyFragment.this.getActivity(),MyService.class);
intent.putExtra("path",uri);
MyFragment.this.getActivity().startService(intent);
请参见commit 8d6ba49,commit b00b6ac,commit 61de0ff,commit dcbaa0b,commit bdbc17e,commit a378fee,commit 441ee35(2018年10月5日)由Matthew DeVore (matvore
)。
(由Junio C Hamano -- gitster
--在commit f2e2136中合并,2018年10月16日)
git rev-list --count HEAD
:正确排序git-rev-list的参数调用
tests
时,将位置参数放在标志之前是一个常见的错误。
最后排序位置参数。
例如,不要:
git-rev-list
但是:
git -C pc1 rev-list HEAD --quiet --objects --missing=print