仅使用jgit添加新文件

问题描述 投票:-1回答:2

我正在学习使用jgit将代码推送到git。我能够将所有文件推送到git,但是我只想添加新文件或将更改更新到git。请建议:

下面是我的代码:

Git git = Git.open(new File(repoPath)); // connect to github
// I want some code which recognizes the new additions or finds the files changed

git.add().addFilepattern(".").call(); // Want to add only the delta
git.commit().setMessage("commit - 1").call(); 
git.push().setCredentialsProvider(cp).call(); 
java github jgit
2个回答
0
投票

知道了!

Status status = git.status().call();
System.out.println("Added: " + status.getAdded());
System.out.println("Changed: " + status.getChanged());
System.out.println("Conflicting: " + status.getConflicting());
System.out.println("ConflictingStageState: " + status.getConflictingStageState());
System.out.println("IgnoredNotInIndex: " + status.getIgnoredNotInIndex());
System.out.println("Missing: " + status.getMissing());
System.out.println("Modified: " + status.getModified());
System.out.println("Removed: " + status.getRemoved());
System.out.println("Untracked: " + status.getUntracked());
System.out.println("UntrackedFolders: " + status.getUntrackedFolders());

0
投票

未更改的文件永远不会添加到索引中,它们已经包含在索引中。因此,如果要将所有新文件和更改过的文件添加到索引中,请使用文件模式"."

您所指的addAll变量用于控制是扫描工作目录中的所有文件,还是仅扫描filepatterns列表中包含的文件。

© www.soinside.com 2019 - 2024. All rights reserved.