我正在使用Java从Git存储库中显示一些信息。我正在使用“Runtime.getRuntime()。exec”来执行命令。
所以当我写
Process process = Runtime.getRuntime().exec("git --git-dir=/home/gh/git/.git --work-tree=/home/gh/git log");
它完美无缺
但是,我需要获取特定人员的日志信息,因此当我编写以下语句时,它不会显示任何结果
String activeDeveloper = "Carlos Rica";
Process process = Runtime.getRuntime().exec("git --git-dir=/home/ghadeer/git/.git --work-tree=/home/ghadeer/git log --author=" + activeDeveloper);
任何人都知道这是什么问题?
答案 0 :(得分:0)
关注mazaneicha的suggestion,在作者姓名周围添加引号的常用方法是:
Process process = Runtime.getRuntime().exec("git --git-dir=/home/ghadeer/git/.git --work-tree=/home/ghadeer/git log --author=\"" + activeDeveloper + "\"");
但是,如果仍然无效,则需要对all命令进行标记,如“Runtime.getRuntime().exec()
”SO问题所示。