我正在学习使用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();
知道了!
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());
未更改的文件永远不会添加到索引中,它们已经包含在索引中。因此,如果要将所有新文件和更改过的文件添加到索引中,请使用文件模式"."
。
您所指的addAll
变量用于控制是扫描工作目录中的所有文件,还是仅扫描filepatterns
列表中包含的文件。