Java 使用jGit添加目录中的所有文件

Java 使用jGit添加目录中的所有文件,java,jgit,Java,Jgit,我想使用addFilepattern将指定目录中的所有文件添加到git存储库,然后提交更改。当我执行git show时,我希望看到提交中的文件,但是提交存在,但为空 代码如下: //create target directory for jGit File targetDirectory = new File("/Users/asusti/jGit/"); if (!targetDirectory.exists()) { if (targe

我想使用
addFilepattern
将指定目录中的所有文件添加到git存储库,然后提交更改。当我执行
git show
时,我希望看到提交中的文件,但是提交存在,但为空

代码如下:

//create target directory for jGit
        File targetDirectory = new File("/Users/asusti/jGit/");
        if (!targetDirectory.exists()) {
            if (targetDirectory.mkdir()) {
                System.out.println("jGit directory is created!");
            } else {
                System.out.println("jGit Directory exists!");
            }
        }

        //create a new Git repository instance
        // The Git-object has a static method to initialize a new repository
        try (Git git = Git.init()
                .setDirectory(targetDirectory)
                .call()) {
            System.out.println("Created a new repository at " + git.getRepository().getDirectory());
            git.add().addFilepattern("/Users/asusti/Downloads").call();
            git.commit().setMessage("Added yaml files to the repository.").setAuthor("anas", "anas@email.com")
            .call();
        } catch (IllegalStateException | GitAPIException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
试试看


据我所知,
addFilepattern(“.”
将添加当前工作目录中的所有文件,但我的文件来自不同的目录。您只能添加当前存储库中的文件。addFilepattern(“.”)表示在存储库中添加所有修改的文件。谢谢。我错过了最明显的;)
git.add().addFilepattern(".").call();
CommitCommand commit = git.commit();
commit.setMessage("Added yaml files to the repository.").call();
git.push().call();