簡體   English   中英

如何使用JGit / EGit還原合並提交

[英]How to revert a merge commit using JGit/EGit

我知道JGit不支持git revert -m 1 <SHA>命令。 還有其他使用JGit的方法可以幫助我還原合並嗎?

JGit當前無法還原合並提交(或更普遍地說,具有多個父級的提交)。 如果任何include提交是合並提交,它將拋出MultipleParentsNotAllowedException

除了適應和修改ResetCommand源代碼,或者(甚至更好)對JGit進行更改之外,我不知道有其他解決方法。

如果您在RevertCommand源代碼中搜索MultipleParentsNotAllowedException您將接近需要進行更改的地方。 在下面的幾行中,確定源父代是這樣的:

RevCommit srcParent = srcCommit.getParent(0);

需要更改為:

RevCommit srcParent = srcCommit.getParent(mainlineIndex);

當然是mainlineIndex器和設置器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM