mod*_*tos 4 java git squash jgit
关于如何使用任何建议RebaseCommand,MergeCommand或JGit到壁球提交任何其他命令?我找不到很多例子,文档也没什么帮助.
一个简单的例子
我想压制下面的树:
A-----B------C------D------E------F------G------H
Run Code Online (Sandbox Code Playgroud)
进入这一个:
A----Z-----H
Run Code Online (Sandbox Code Playgroud)
凡Z被压扁提交的B,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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1028 次 |
| 最近记录: |