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();