[英]JGit: How to squash commits
有關如何在JGit中使用RebaseCommand
, MergeCommand
或任何其他命令來RebaseCommand
任何建議? 我找不到很多例子,文檔也沒什么幫助。
一個簡單的例子
我想壓制下面的樹:
A-----B------C------D------E------F------G------H
進入這一個:
A----Z-----H
其中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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.