在克隆的git存储库中,我只想选择已修改的文件(即,如果我运行命令'已修改'的文件) >“ git状态” )。我不想在日期更改比较中执行此操作,因为文件可能会在一段时间内的任何一天被修改。
我需要带有绝对文件路径的文件名集合。
Java中是否有这样的git实用程序可用?还是会有更好的方法?
答案 0 :(得分:1)
import java.io.File;
import java.util.Set;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.Status;
import org.eclipse.jgit.api.errors.GitAPIException;
public class GitModifiedFileExtractor {
public static void main(String[] args) throws IllegalStateException, GitAPIException {
Git myGitRepo = Git.init().setDirectory(new File("C:\\myClonedGitRepo")).call();
Status status = myGitRepo.status().call();
Set<String> modifiedFiles = status.getModified();
for (String modifiedFile : modifiedFiles) {
System.out.println("Modified File - " + modifiedFile);
}
}
// Similarly we can get files - added, missing, removed, untracked, etc.,
// from status object.
}