JGit Java Git 库取消暂存文件

Posted

技术标签:

【中文标题】JGit Java Git 库取消暂存文件【英文标题】:JGit Java Git Library Unstaging Files 【发布时间】:2011-06-15 18:21:04 【问题描述】:

我无法重置以在 JGit 中正常工作。 IE。我可以将所有文件添加到索引中,我可以通过以下命令从索引中删除/重置/取消暂存其中的一些文件,但它不适用于所有文件。在 JGit 中取消暂存文件的正确方法是什么?

repository.getIndex().remove(getWorkignDirectoryAsFile(), new File(getWorkignDirectoryAsFile(), fileName));
repository.getIndex().write();

还有

【问题讨论】:

您是否遇到任何编译时或运行时错误? 【参考方案1】:

您可以使用 JGit ResetCommand 类从索引中删除文件:

ResetCommand reset = new Git(repository).reset();
reset.setRef(Constants.HEAD);
reset.addPath("foo.txt");
reset.call();

【讨论】:

【参考方案2】:

相当于一个普通的git reset 命令是

git.reset().setMode(ResetType.MIXED).call();

其中gitorg.eclipse.jgit.api.Git 的一个实例,ResetType 指的是org.eclipse.jgit.api.ResetCommand.ResetType

【讨论】:

以上是关于JGit Java Git 库取消暂存文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Java 代码从 Git 存储库下载文件

JGit 中的 git diff 等价物

使用带有 JGit 的密钥安全地访问 Git 存储库

有没有办法让 Git 暂存/取消暂存文件而不是更改?

10-git-取消暂存的文件

jgit addFilePattern 不适用于我的文件绝对路径