相关疑难解决方法(0)

jGit - 如何将所有文件添加到临时区域

我尝试了很多方法用jGit克隆一个repo(它有效).然后,我写的一些库存档,并尝试添加所有(一个git add *,git add -A或者类似的东西)..但它不工作.文件简单不会添加到临时区域.

我的代码是这样的:

    FileRepositoryBuilder builder = new FileRepositoryBuilder();
    Repository repository = builder.setGitDir(new File(folder))
            .readEnvironment().findGitDir().setup().build();
    CloneCommand clone = Git.cloneRepository();
    clone.setBare(false).setCloneAllBranches(true);
    clone.setDirectory(f).setURI("git@192.168.2.43:test.git");
    try {
        clone.call();
    } catch (GitAPIException e) {
        e.printStackTrace();
    }
    Files.write("testing it...", new File(folder + "/test2.txt"),
            Charsets.UTF_8);
    Git g = new Git(repository);
    g.add().addFilepattern("*").call();
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢.


尝试使用addFilePattern(".")时遇到异常:

Exception in thread "main" org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index
    at org.eclipse.jgit.lib.Repository.getIndexFile(Repository.java:850)
    at org.eclipse.jgit.dircache.DirCache.lock(DirCache.java:264)
    at org.eclipse.jgit.lib.Repository.lockDirCache(Repository.java:906)
    at org.eclipse.jgit.api.AddCommand.call(AddCommand.java:138)
    at net.ciphersec.git.GitTests.main(GitTests.java:110)
Run Code Online (Sandbox Code Playgroud)

java git jgit

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

git ×1

java ×1

jgit ×1