当我执行这个git命令:git rev-list --since=2015-03-01
时,它总是说
无效的对象名称'usage'。
我不知道之后的格式。 我正在使用Java ProcessBuilder来执行命令。 任何帮助表示赞赏!
代码:
command=new String[] {"git", "rev-list", "--since=2015-06-22", "--pretty=oneline"};
ProcessBuilder processBuilder = new ProcessBuilder(command);`
答案 0 :(得分:0)
尝试此命令 -
git log --author="NAME" --since="2015-06-22"
添加--oneline
以获取提交哈希后跟提交消息。
注意: - after和--since选项是同义词。
答案 1 :(得分:0)
您收到有关usage
的错误,因为您正在使用对rev-list
无效的参数,因此git会打印使用情况摘要。它回来的第一个词是usage
,它正在抱怨。
$ git rev-list --since=2015-06-22 --pretty=oneline
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
--max-age=<epoch>
......等等。
根据您当前的尝试,我认为您正在尝试在特定日期之后找到提交,并且每行返回一次。由于您使用的是rev-list
而不是log
,因此您可能需要一个提交对象列表,而不是完整的日志条目。
您的命令的主要问题是rev-list
期望提交ID或其他引用作为其起点,并且您不提供一个。这很简单,只需指向HEAD
。
这将为您提供从HEAD返回指定日期的提交ID。
git rev-list --since=2015-06-22 HEAD
或者在您用于Java的语法中指定
command=new String[] {"git", "rev-list", "--since=2015-06-22", "HEAD"};