1

次のJava構文を使用してGitblameコマンドを実行しようとしています。

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

動作するには、リポジトリgit blameにいる必要があると思います。リポジトリディレクトリ内にいる必要があり(つまり、最初にチェックアウトする必要があります)、次のコマンドを実行する必要があります。

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

以下は、JavaforLinuxでblameコマンドを実行するための正しい構文です。

git --git-dir=/home/gh/git/.git --work-tree=/home/gh/git blame builtin/tag.c
于 2012-07-06T02:46:10.633 に答える
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 に答える