1

ディレクトリを作成し、javagit ライブラリを使用して git リポジトリとして初期化しようとしています。以下は、私が使用しているコードスニペットです:

repositoryDirectory = FileUtilities.createTempDirectory("C:/Madhu/ReleaseManagerRepo/Demo_gitRepository");
System.out.println("Git Repository Location : " + repositoryDirectory.getAbsolutePath());
//get the instance of the dotGit Object
dotGit = DotGit.getInstance(repositoryDirectory);
System.out.println("DotGit==========="+dotGit.toString());
//Initialize the repository ,similar to git init
dotGit.init();

ディレクトリが作成されていることがわかります。dotGit.init() が実行された後、コードで指定されたディレクトリの下に .git (コマンド git init をコマンド ラインから実行すると取得されます) ディレクトリが表示されません。

2 番目の質問は、コードからファイルを作成しようとしていて、それを git リポジトリに追加したいということです。以下は、同じコード スニペットです。

File file = FileUtilities.createFile(repositoryDirectory, "README", "First file in the git repository");

//get the current working tree from the git repository
WorkingTree wt = dotGit.getWorkingTree();
GitAddResponse ar = wt.add();
wt.commitAll("First commit to the git repository");

以下のように例外が発生します。

Exception in thread "main" java.io.IOException: 020100: Unable to start sub-process.
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.startProcess(ProcessUtilities.java:50)
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.runCommand(ProcessUtilities.java:141)
    at edu.nyu.cs.javagit.client.cli.CliGitAdd.add(CliGitAdd.java:49)
    at edu.nyu.cs.javagit.api.commands.GitAdd.add(GitAdd.java:67)
    at edu.nyu.cs.javagit.api.GitFileSystemObject.add(GitFileSystemObject.java:185)
    at edu.nyu.cs.javagit.api.WorkingTree.add(WorkingTree.java:130)
    at javagit.JavaGitDemo.main(JavaGitDemo.java:41)
Caused by: java.io.IOException: CreateProcess: git add C:\Madhu\ReleaseManagerRepo\Demo_gitRepository\README error=2
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    at java.lang.ProcessBuilder.start(Unknown Source)
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.startProcess(ProcessUtilities.java:48)
    ... 6 more

git/bin を Path 環境変数に追加しました。しかし、私はまだ同じ例外を見ています。他に何か欠けているかどうかはわかりません。

提案していただけませんか。

よろしく、マドゥスダン。

4

1 に答える 1

1

デッドポストですが、システム環境変数に git パスを追加することで同じ問題を解決しました -記事

于 2014-02-04T07:56:11.980 に答える