使用 Java 从本地克隆的 Git 存储库获取修改后的文件
Get modified files from locally cloned Git repository using Java
在克隆的 git 存储库中,我只想选择已修改的文件(即准备好提交或显示为 'modified'[ 的文件) =20=] 如果我 运行 命令 'git status')。我不想在日期更改比较时这样做,因为文件可能在一段时间内的任何一天都被修改过。
我需要收集文件名及其绝对文件路径。
Java 中有这样的 git 实用程序吗?或者更好的方法是什么?
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.
}
在克隆的 git 存储库中,我只想选择已修改的文件(即准备好提交或显示为 'modified'[ 的文件) =20=] 如果我 运行 命令 'git status')。我不想在日期更改比较时这样做,因为文件可能在一段时间内的任何一天都被修改过。
我需要收集文件名及其绝对文件路径。
Java 中有这样的 git 实用程序吗?或者更好的方法是什么?
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.
}