使用 JGit 重置为指定的提交
Reset to specified commit using JGit
我正在使用 JGit 以编程方式将远程更改提取到本地存储库。如果拉取失败并抛出异常,我想在拉取尝试之前将本地存储库重置为最新提交。
然而,ResetCommand
不将提交标识符作为参数,即使 Git 重置命令接受 "commit" 参数。这是 ResetCommand
的已知限制,还是我遗漏了什么?
是否有替代的 JGit 命令或命令序列可以达到相同的效果?
ResetCommand
的 setRef()
方法允许指定提交的 ID。
例如:
resetCommand.setRef("< SHA-1 >");
拉取失败的原因有多种。我假设 'pull fails and throws an exception' 你指的是无法与当前本地分支合并的拉动。
如果您的目的是防止合并失败影响当前存储库状态,您可能需要先获取上游更改,然后
遵循我在这里提出的建议:
我正在使用 JGit 以编程方式将远程更改提取到本地存储库。如果拉取失败并抛出异常,我想在拉取尝试之前将本地存储库重置为最新提交。
然而,ResetCommand
不将提交标识符作为参数,即使 Git 重置命令接受 "commit" 参数。这是 ResetCommand
的已知限制,还是我遗漏了什么?
是否有替代的 JGit 命令或命令序列可以达到相同的效果?
ResetCommand
的 setRef()
方法允许指定提交的 ID。
例如:
resetCommand.setRef("< SHA-1 >");
拉取失败的原因有多种。我假设 'pull fails and throws an exception' 你指的是无法与当前本地分支合并的拉动。
如果您的目的是防止合并失败影响当前存储库状态,您可能需要先获取上游更改,然后
遵循我在这里提出的建议: