注:稳定分支大部分时候是master分支,但是不同的公司不同项目会有不同,本篇稳定分支为raw分支。
场景:本地分支用到了公共组件中的东西,另一个同事更改公共组件后发到raw分支,并且本地分支需要用到更改后的代码。但是,本地开发了一些东西,这些代码并不成熟,并不希望提交,这时可以用stash
即: raw分支中公共组件有变动,且我依赖这个公共组件,本地我的分支代码达不到提交条件。
hy本地开发分支
1、 git stash //提交到暂存区
2、 git checkout raw // 切换到raw分支
raw分支–稳定分支
3、 git pull --rebase // 将本地raw分支与远程raw分支同步
有时会出现如下错误,这是由于克隆代码到本地时用ssh命令,ssh命令需要在github或者gitlab上配置,可参考Git"Could not read from remote repository.Please make sure you have the correct access rights."解决方案配置即可
ssh: connect to host [github.com](http://github.com/) port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists. // ssh未配,在git上配置了就可以拉代码了
admin@DESKTOP-6KR7T3I MINGW64 /c/WorkSpace/movtile-sms-fe (raw)
$ git pull --rebase // 再次同步
4、 git checkout hy // 切换到本地的开发分支(我这里是hy分支,记得切换到你自己对应的开发分支)
hy本地开发分支
5、 git rebase raw // 将raw分支中最新的代码用rebase命令合并
出现如下,即成功了
First, rewinding head to replay your work on top of it...
Fast-forwarded hy to raw.
admin@DESKTOP-6KR7T3I MINGW64 /c/WorkSpace/xxxx (hy)
6、 git stash apply // 将暂存区的代码取出来,也可以用git stash pop。区别:使用git stash命令之后会在stash列表中生成一个对应的信息,使用apply命令恢复,stash列表中的信息是会继续保留的,而使用pop命令进行恢复,会将stash列表中的信息进行删除。
// 然后继续未完成的开发即可
原文作者:前端青音
原文链接:https://www.jianshu.com/p/600e17acf377