我正在使用JGit以编程方式将远程更改提取到本地存储库。如果pull失败并抛出异常,我想在拉取尝试之前将本地存储库重置为最新的提交。
但是,即使Git reset命令接受“commit”参数,ResetCommand
也不会将提交标识符作为参数。这是ResetCommand
的已知限制,还是我错过了什么?
是否有可用于同一效果的替代JGit命令或命令序列?
答案 0 :(得分:0)
setRef()
的{{1}}方法允许指定提交的id。
例如:
ResetCommand
由于多种原因,拉动可能会失败。我假设'pull failed并抛出异常',你引用了一个无法与当前本地分支合并的pull。
如果您的目的是防止合并失败影响当前存储库状态,您可能需要先获取上游更改,然后 按照我在此处提出的建议:How to get conflicting lines with JGit