使用 JGit checkout 命令我得到额外的冲突

Using the JGit checkout command I get extra conflicts

我正在尝试使用 JGit 签出提交。我正在使用 CheckoutCommand 并且我这样设置:

CheckoutCommand checkoutCommand = git.checkout().setName(first.getName());

其中 first 是我要结帐的 RevCommit

由于某些文件冲突,此操作失败。

当我运行 git checkout SHA1 时,一切运行都很好。在这两种情况下,我都从相同状态的存储库开始(HEAD 处于相同的提交)。

我尝试通过调用 setForce(true) 来使用武力。这没有任何影响。

关于我可能在哪里做错的任何想法?我知道它在设置中,但我不知道在哪里。

感谢您的宝贵时间, -凯厄斯

好吧,JGit 似乎认为索引不干净,即使通常的 git 命令认为它是干净的。

在我尝试检查我的提交之前做一个 git.checkout().setAllPaths(true).call(); 似乎可以解决问题。