猿问

使用 Java 从本地克隆的 Git 存储库中获取修改后的文件

在克隆的git存储库中,我只想选择被修改的文件(即,如果我运行命令“git status”,则准备提交或显示为“已修改”的文件)。我不想在日期更改比较中执行此操作,因为文件可能在一段时间内的任何一天被修改。

我需要文件名及其绝对文件路径的集合。

在Java中是否有任何这样的git实用程序可用?或者更好的方法是什么?


繁星coding
浏览 129回答 1
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 {&nbsp; &nbsp; public static void main(String[] args) throws IllegalStateException, GitAPIException {&nbsp; &nbsp; &nbsp; &nbsp; Git myGitRepo = Git.init().setDirectory(new File("C:\\myClonedGitRepo")).call();&nbsp; &nbsp; &nbsp; &nbsp; Status status = myGitRepo.status().call();&nbsp; &nbsp; &nbsp; &nbsp; Set<String> modifiedFiles = status.getModified();&nbsp; &nbsp; &nbsp; &nbsp; for (String modifiedFile : modifiedFiles) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Modified File - " + modifiedFile);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; // Similarly we can get files - added, missing, removed, untracked, etc.,&nbsp;&nbsp; &nbsp; // from status object.}
随时随地看视频慕课网APP

相关分类

Java
我要回答