git rebase 合并本地分支的代码到稳定分支(master
注:稳定分支大部分时候是master分支,但是不同的公司不同项目会有不同,本篇稳定分支为raw分支。
一、有自己的本地分支和远程分支的
本地当前分支hy 提交阶段: 在hy分支(hy为我自己的分支,即当前的开发分支)
1、git add .
2、git commit -m 'Add: login: logo文件'
3、git push // 提交到自己的分支 // 也可以不用push(但是一定要commit) ,直接切到raw分支即第4步
若出现
fatal: The current branch huangyi has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin hy
则 输入git push --set-upstream origin hy回车即可
raw 合代码阶段(切到raw分支,即项目中稳定的分支)
4、 git checkout raw // 切到raw分支
5、git pull --rebase //将远程的raw分支同步到本地raw分支,保证本地的与远程同步
6、git cherry-pick d206246 // 后面的是想要摘出来的提交点id,可在source-tree上查看到;注意,如果要摘多个提交点,可用空格将id隔开即可(eg:git cherry-pick a8f8d98 205a2cd)
7、git push // 将要合的提交点摘出来之后,提交到raw分支; 注意,提交之前可看看source-tree,自己的代码是否到一条直线的最顶端,是,就push上去
8、git branch -Dr origin/hy //删除远程的我的分支 (因为看到source-tree上,我的点和raw没在一条线,所以直接将远程的我的分支删了,注意:要保证自己的代码全部合到了raw分支),如果未推送远程分支,或者没有远程分支,可忽略此步
9、git push origin :hy // 注意,这样才真正删除了远程分支,如果未推送远程分支,或者没有远程分支,可忽略此步,注意:若有远程分支,一定要保证自己的远程分支与稳定的远程分支(比如master,这里的则是raw分支)代码同步,即保证一定要是最新的
10、git branch -D hy // 删除本地分支,因为此时的本地分支与稳定分支不一样了,你的同事可能也提交过代码,稳妥的做法是删除本地分支(保证代码提交完毕后),重新切一个最新的
hy 分支:新建并切换到本地hy分支
11、git checkout -b hy // 注意,此时的hy(即本地分支) 分支,才与raw上面的同步(即与最新的代码同步),此时可继续开发其他功能
二、只有自己的本地分支,没有远程分支的
本地当前分支hy 提交阶段: 在hy分支(hy为我自己的分支,即当前的开发分支)
1、git add .
2、git commit -m 'Add: login: logo文件'
raw 合代码阶段(切到raw分支,即项目中稳定的分支)
3、 git checkout raw // 切到raw分支
4、git pull --rebase //将远程的raw分支同步到本地raw分支,保证本地的与远程同步
5、git cherry-pick d206246 // 后面的是想要摘出来的提交点id,可在source-tree上查看到;注意,如果要摘多个提交点,可用空格将id隔开即可(eg:git cherry-pick a8f8d98 205a2cd)
6、git push // 将要合的提交点摘出来之后,提交到raw分支; 注意,提交之前可看看source-tree,自己的代码是否到一条直线的最顶端,是,就push上去
7、git branch -D hy // 删除本地分支,因为此时的本地分支与稳定分支不一样了,你的同事可能也提交过代码,稳妥的做法是删除本地分支(保证代码提交完毕后),重新切一个最新的
hy 分支:新建并切换到本地hy分支
8、git checkout -b hy // 注意,此时的hy(即本地分支) 分支,才与raw上面的同步(即与最新的代码同步),此时可继续开发其他功能