git中merge,rebase,cherry-pick,patch的联系与区别
这些操作都是为了把一个分支上的工作加到另一个分支上。
merge
把另一个分支合并到当前分支上。
rebase
把当前分支的提交在另一分支上重演。(如果可以成功重演,本分支将会消失)
cherry-pick
把本分支或者其他分支的某一次或某几次提交,在当前分支上重演。
patch
把一次或几次提交,做成补丁文件(可以远程发送给其他人,这是与cherry-pick最大的不同)。这个补丁文件可以被应用到其它分支上。
注:
1. 区分idea中关于rebase的2个选项
(1) Rebase Current onto Selected:把当前分支变基到被选择的分支上;
(2) Checkout with Rebase:把被选择的分支checkout出来变基到当前分支。
merge
把另一个分支合并到当前分支上。
rebase
把当前分支的提交在另一分支上重演。(如果可以成功重演,本分支将会消失)
cherry-pick
把本分支或者其他分支的某一次或某几次提交,在当前分支上重演。
patch
把一次或几次提交,做成补丁文件(可以远程发送给其他人,这是与cherry-pick最大的不同)。这个补丁文件可以被应用到其它分支上。
注:
1. 区分idea中关于rebase的2个选项
(1) Rebase Current onto Selected:把当前分支变基到被选择的分支上;
(2) Checkout with Rebase:把被选择的分支checkout出来变基到当前分支。