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

标签 java jgit

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

代码片段是:

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

关于java - JGit : Add a file present in a folder using Add(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42076179/

相关文章:

git - JGit 支持 Webhook 吗?

java - 如何反转数组中的所有字符串?

java - JGit:使用TreeWalk获取文件内容

java - JGit:传输异常 - 拒绝 HostKey:bitbucket.org

java - Android Activity生命周期: why isn't calling the super method first enforced?

java - JGit 中 DirCacheEditor 的无效路径异常

java - 在 netbeans 中调试的 Junit 测试比没有调试的情况下运行要慢得多

java - 如何检查输入是否为 int 且位于两个值之间

java - 如何使用 Java SQL API 重命名 Azure Cosmos DB 中的容器?