1

我正在尝试使用以下 Java 语法来执行 Git blame 命令:

Process process = Runtime.getRuntime().exec("/usr/bin/git blame https://github.com/git/git/alloc.c > TestGit.txt");

但是,当我在 Java 中运行代码时,它没有给出任何结果。而且,当我尝试在终端中执行它时,它只会创建一个空的“TestGit.txt”文件,并且出现错误:fatal: Not a git repository (or any of the parent directories): .git.

4

4 回答 4

3

确保在启动命令之前将目录更改为 git 存储库

Process process = Runtime.getRuntime().exec("cd /path/to/repository; /usr/bin/git blame https://github.com/git/git/alloc.c > TestGit.txt");
于 2012-06-14T18:55:36.850 回答
0

以下是在 Java for linux 中执行 blame 命令的正确语法:

git --git-dir=/home/gh/git/.git --work-tree=/home/gh/git blame builtin/tag.c
于 2012-07-06T02:46:10.633 回答
0

我认为git blame要工作,您需要存储库中。您需要在存储库目录中(这意味着您需要先检查它),然后运行:

git blame alloc.c
于 2012-06-14T18:56:12.077 回答
0

哈维尔方式:

Process process = Runtime.getRuntime().exec("/usr/bin/git blame https://github.com/git/git/alloc.c > TestGit.txt", null, new File('/path/to/repository'));
于 2012-10-03T18:49:31.760 回答