JGit:使用 Add() 添加文件夹中的文件

JGit : Add a file present in a folder using Add()

我正在编写一个场景,我必须使用 add() 将文件夹中存在的特定文件添加到本地 git 存储库。所以我在文件夹中一个一个地迭代所有文件,并使用 add() 将它们添加到本地存储库。但是不知何故,在使用 git 状态检查控制台时,这些文件没有被添加。

代码片段是:

AddCommand cmd=git.add();
    File[] fList = pathFolder.listFiles();

    for (File file : fList){

        if (file.isFile()){
            try {
                cmd.addFilepattern(file.getPath());

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    try {
        cmd.call();
    } catch (GitAPIException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

期待一些解决方案

我认为你不应该通过 file.getPath() 添加完整路径,而应该只添加相对名称,例如pathFolder.getName() + "/" + file.getName() 或类似的东西。

另一种选择是简单地添加目录,这应该根据 JavaDoc

添加该目录中的所有文件

有关简单的工作示例,请查看 this snippet