簡體   English   中英

使用 Java 從本地克隆的 Git 存儲庫中獲取修改過的文件

[英]Get modified files from locally cloned Git repository using Java

在克隆的 git 存儲庫中,我只想選擇已修改的文件(即,如果我運行命令'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.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM