gpt4 book ai didi

java - 如何使用 JGit/EGit 恢复 merge 提交

转载 作者:太空宇宙 更新时间:2023-11-04 11:08:29 28 4
gpt4 key购买 nike

我发现 JGit 不支持 git revert -m 1 <SHA>命令。有没有其他方法可以使用 JGit 来帮助我恢复 merge ?

最佳答案

JGit 目前无法恢复 merge 提交(或者更一般地说,具有多个父级的提交)。如果任何 include 提交是 merge 提交,它将抛出 MultipleParentsNotAllowedException

除了调整和修改 ResetCommand 源代码或(甚至更好)对 JGit 做出更改之外,我不知道还有其他解决方法。

如果您在 RevertCommand 源代码中搜索 MultipleParentsNotAllowedException,您就接近需要进行更改的位置。下面几行,源父级是这样确定的:

RevCommit srcParent = srcCommit.getParent(0);

需要更改为:

RevCommit srcParent = srcCommit.getParent(mainlineIndex);

当然还有 mainlineIndex 的 getter 和 setter。

关于java - 如何使用 JGit/EGit 恢复 merge 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46237708/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com