我尝试了很多方法来使用jGit克隆存储库(它可以工作)。然后,我写的一些库存档,并尝试添加所有(一个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();
我究竟做错了什么?谢谢。
尝试使用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)
一个简单的方法来调试这是看的测试AddCommand在JGit回购:AddCommandTest.java
您将看到,为了添加所有文件,*
从不使用模式“ ”,而是使用“ .
”。
它用在名为…
testAddWholeRepo()
(!)的测试函数中
git.add().addFilepattern(".").call();
例外:
Exception in thread "main" org.eclipse.jgit.errors.NoWorkTreeException:
Bare Repository has neither a working tree, nor an index
非常明确:您需要在非裸仓库中添加文件。
查看测试方法testCloneRepository()
以与您自己的克隆进行比较,并查看是否存在任何差异。
问题内容: 我想将先前从其他文件(已经完成)中提取的一系列文件添加到jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快。谢谢! 问题答案: 请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。
问题内容: 有人可以向我解释如何将WAR文件添加到EAR吗?我有一个已经包含一个WAR文件的EAR文件,我有另一个我想添加到该EAR的WAR文件,因此它可以同时包含两个WAR并正常工作。 我不知道该怎么做,但我认为可以手动更改EAR中包含的application.xml文件。 谢谢! 问题答案: 假设EAR文件中尚未包含WAR文件,则可以使用常见的zip实用程序在EAR文件中添加WAR文件。 请注
问题内容: Eclipse设置为在“ bin”处编译为构建目录。我有一个包含各种Java .class文件(预编译)的文件夹结构,我想在编译时将其复制到文件夹“ bin”中。 如何告诉Eclipse自动执行此操作? 问题答案: 项目属性中“ Java构建路径”下的“添加类文件夹…”和“添加外部类文件夹…”按钮似乎完全可以满足您的要求。
假设我有一个Github存储库,名为。在该存储库中,我有一个名为的分支。在分支中,我之前添加了一个文件。现在如果我想先添加一个文件到分支,或者想要更新文件,哪些Git命令用于此操作?
问题内容: 有人可以为我提供导入整个模块目录的好方法吗? 我有这样的结构: 我尝试通过添加和执行操作将其转换为程序包,但它没有按我希望的方式工作。 问题答案: 列出当前文件夹中的所有文件,并将它们作为变量放入
问题内容: 我正在尝试将一些文件添加到ZIP文件中,它会创建文件,但不会在其中添加任何内容。代码1: 我的功能: 编辑: 我发现了问题,只是在将文件从C:\驱动器写入F:\驱动器的ZIP时遇到麻烦 问题答案: 您不能压缩文件夹,只能压缩文件。要压缩文件夹,必须手动添加所有子文件。我写了本课来完成这项工作。您可以免费获得它:) 用法是这样的: 这是课程: 请享用! 编辑 :要检查程序是否仍在忙,可以