примечание: этот код относится к классу .groovy, поэтому вам, без сомнения, придется немного изменить Java.
далось разобраться с основами jGit-файла с точки зрения подключения к репозиториям и добавления, фиксации и даже зацикливания сообщений фиксации для файлов.
File gitDir = new File("/Users/myname/Sites/helloworld/.git");
RepositoryBuilder builder = new RepositoryBuilder();
Repository repository;
repository = builder.setGitDir(gitDir).readEnvironment()
.findGitDir().build();
Git git = new Git(repository);
RevWalk walk = new RevWalk(repository);
RevCommit commit = null;
// Add all files
// AddCommand add = git.add();
// add.addFilepattern(".").call();
// Commit them
// CommitCommand commit = git.commit();
// commit.setMessage("Commiting from java").call();
Iterable<RevCommit> logs = git.log().call();
Iterator<RevCommit> i = logs.iterator();
while (i.hasNext()) {
commit = walk.parseCommit( i.next() );
System.out.println( commit.getFullMessage() );
}
Далее я хочу получить все сообщения о фиксации для одного файла, а затем вернуть один файл обратно к определенной ссылке / моменту времени.