使用JGit重置为指定的提交

问题描述 投票:1回答:1

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

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

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

git jgit
1个回答
0
投票

setRef()ResetCommand方法允许指定提交的id。例如:

resetCommand.setRef( "< SHA-1 >" );

拉动可能由于几个原因而失败。我假设'pull failed并抛出异常',你指的是一个无法与当前本地分支合并的pull。

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

© www.soinside.com 2019 - 2024. All rights reserved.