rebase原理
git rebase branchA branchB:首先会取出branchB,将branchB中的提交放在branchA的顶端,一般branchB为当前分支,可以不指定。
master branch 上有新代码提交,本地branch1还停留在旧的master版本。
目的:使branch1同步master的最新代码,并且本地的改动也不会丢失
$ git checkout branch1
$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: UserA commit 2--branch1
Applying: UserA commit 3--branch1
Applying: Usera commit master
Applying: Usera commit master
git rebase <branch>的原理是:找到两个分支最近的共同祖先,根据当前分支(上例中branch1)的提交历史生成一系列补丁文件,然后以基地分支最后一个提交为新的提交起始点,应用之前生成的补丁文件,最后形成一个新的合并提交。从而使得变基分支成为基地分支的直接下游。
git rebase -i 将本地的多次提交合并为一个,以简化提交历史 (合并两次commit: git rebase -i HEAD~2 --> git push -f origin myBranc)
git checkout master
git pull
git checkout local
git rebase -i HEAD~2 //合并提交 --- 2表示合并两个
git rebase master---->解决冲突--->git rebase --continue
参考:https://blog.csdn.net/FightFightFight/article/details/80850328
git shell 命令大全:https://www.cnblogs.com/bugs/p/3384339.html
git 常用命令:http://www.jb51.net/article/55442.htm