HEAD修订版的问题

时间:2015-12-15 00:10:15

标签: git macos osx-elcapitan

我尝试在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> [...] - [...]'

它不是一个空的存储库。

可能是什么问题?

2 个答案:

答案 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 8d6ba49commit b00b6accommit 61de0ffcommit dcbaa0bcommit bdbc17ecommit a378feecommit 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