使用JGit重置为指定的提交

时间:2016-08-25 13:16:40

标签: git jgit

我正在使用JGit以编程方式将远程更改提取到本地存储库。如果pull失败并抛出异常,我想在拉取尝试之前将本地存储库重置为最新的提交。

但是,即使Git reset命令接受“commit”参数,ResetCommand也不会将提交标识符作为参数。这是ResetCommand的已知限制,还是我错过了什么?

是否有可用于同一效果的替代JGit命令或命令序列?

1 个答案:

答案 0 :(得分:0)

setRef()的{​​{1}}方法允许指定提交的id。 例如:

ResetCommand

由于多种原因,拉动可能会失败。我假设'pull failed并抛出异常',你引用了一个无法与当前本地分支合并的pull。

如果您的目的是防止合并失败影响当前存储库状态,您可能需要先获取上游更改,然后 按照我在此处提出的建议:How to get conflicting lines with JGit