如何使用 JGit 提交单个文件

sql*_*ler 5 eclipse jgit

即使不推荐,我也使用具体方法a:

git commit -m 'xxxx' file 1 file2
Run Code Online (Sandbox Code Playgroud)

索引和更改的两个文件都将成为提交的一部分。但不是例如 file3 和 file4 也被更改 - 但未在提交中命名。

问题:我如何使用 JGit 来做到这一点!甚至 Eclipse 也提供了这一点 - 但我没有找到任何使用 JGit (瓷器)来实现这一点的方法。

Rüd*_*ann 5

没有亲自尝试过,网上有一个setOnly方法CommitCommand。根据文档,您应该能够调用

git.commit().setOnly("file1").setOnly("file2").setMessage("...").call();
Run Code Online (Sandbox Code Playgroud)

该命令会将file1和添加file2到临时索引,然后一次性提交。

如果这不起作用,您仍然可以使用AddCommand将单个文件添加到索引,然后提交:

git.add().setFilepattern("file1").addFilepattern("file2").call();
git.commit().setMessage("...").call();
Run Code Online (Sandbox Code Playgroud)

如果已添加文件,您可以在添加文件之前重置索引,如下所示:

git.reset().setMode(ResetType.MIXED).call();
Run Code Online (Sandbox Code Playgroud)