git rebase -i [startpoint] [endpoint]
-i
的意思是--interactive
,即弹出交互式的界面让用户编辑完成合并操作,[startpoint]
[endpoint]
则指定了一个编辑区间,如果不指定[endpoint]
,则该区间的终点默认是当前分支HEAD
所指向的commit
(注:该区间指定的是一个前开后闭的区间)。git rebase -i 36224db
或
git rebase -i HEAD~3
在交互界面git 为我们提供了以下几个命令:
(如果只是复制某一两个提交到其他分支,建议使用更简单的命令:git cherry-pick
)
git rebase [startpoint] [endpoint] --onto [branchName]
[startpoint]
[endpoint]
仍然和上一个命令一样指定了一个编辑区间(前开后闭),--onto
的意思是要将该指定的提交复制到哪个分支上。例如: git rebase 90bc0045b^ 5de0da9f2 --onto master
参考:https://www.jianshu.com/p/4a8f4af4e803原文:https://www.cnblogs.com/i-shu/p/13401677.html