使用jgit在远程存储库中创建文件夹

时间:2016-01-18 12:14:43

标签: java github jgit

我正在使用Jgit api。我可以使用cloneRepository方法在git远程位置创建文件。

同样,我可以使用addCommand添加文件。现在的要求是创建文件夹或使用本地文件更新现有文件夹,并将其提交,提交到远程存储库 - https://github.com。 我尝试修改我们用于创建文件的相同代码,但它无法正常工作。

我怎样才能做到这一点? 用于添加文件的代码:

File file = new File(Trial.localPath + "\\" + fileName);
file.createNewFile();
UsernamePasswordCredentialsProvider upc = new UsernamePasswordCredentialsProvider(
                    userName, password);
git = Git.cloneRepository().setURI(remotePath).setDirectory(puppetDirFile).setCredentialsProvider(upc).call();
git.add().addFilepattern(fileName).call();  
git.commit().setMessage("Added "+ fileName).call();

PushCommand pc = git.push();
pc.setCredentialsProvider(upc).setForce(true).setPushAll();
pc.call();
git.getRepository().close();

已修改为添加文件夹:

File file = new File(Trial.localPath+"\\ProjectA");
        if (!file.exists()) {
            if (file.mkdir()) {
                System.out.println("Directory is created!");
            }
        }
git.add().addFilepattern("projectA").call();    
git.commit().setMessage("Added "+ "ProjectA").call();

然后按照上面的代码推动休息。

1 个答案:

答案 0 :(得分:0)

Git不支持向git添加空文件夹。 所以即使你添加了它,它也不会在你添加文件之前在Git索引中。 查看相关的堆栈溢出问题。 How can I add an empty directory to a Git repository?