gpt4 book ai didi

java - JGit:如何压缩提交

转载 作者:搜寻专家 更新时间:2023-11-01 01:52:24 27 4
gpt4 key购买 nike

关于如何使用的任何建议RebaseCommand , MergeCommand或 JGit 中压缩提交的任何其他命令?我找不到很多例子,文档也不是很有帮助。

一个简单的例子

我想压扁下面的树:

A-----B------C------D------E------F------G------H

进入这个:

A----Z-----H

在哪里ZB 的压缩提交, C , D , E , F , 和 G .

感谢任何建议和有用的资源。

最佳答案

在命令行 Git 中,这将使用 git rebase -i ... 完成,然后为提交 C、D、E、F 和 G 选择“fixup”。使用 fixup,Z将具有与 B 相同的提交消息。

在 JGit 中,这可以使用 RebaseCommand 来完成:

InteractiveHandler handler = new InteractiveHandler() {
public void prepareSteps(List<RebaseTodoLine> steps) {
// loop through steps and use setAction to change action
}

public String modifyCommitMessage(String oldMessage) {
return oldMessage;
}
};

Repository repo = FileRepositoryBuilder.create(gitDir);
Git git = Git.wrap(repo);
git.rebase().setUpstream(commitA).runInteractively(handler).call();

关于java - JGit:如何压缩提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22945257/

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