masteBranchRename

maste分支重命名惊险记

一、当前问题

做完联想海光后,要将代码应用到同方产品中,产品logo图片和文字不同,要求尽量能共用代码,只将有差异的部分放到单独的分支上。

二、基本思路

生成tongfang分支,在这之上不仅改了图片,还改了登录界面的代码,而且将来的登录界面都将与同方的一致。
这就意味着可将同方分支作为将来的master分支,而将原来的master分支重命名为联想分支即可。
当前的本地和远程都有master分支和tongfang分支。

三、重命名master分支的操作过程

1.本地切换分支到tongfang分支,不能让当前分支是master分支 git checkout tongfang
2.本地重命名 git branch -m master lenovo //将原来的master分支重命名为lenovo分支
3.在远程gitlab里,将当前的default分支改为tongfang分支
4.删除远程分支:git push origin :master
5.将重命名过的新分支提交:git push origin lenovo

四、发现问题

试图将远程gitlab的当前分支切换到lenovo分支上,目的是将本地和远程的tongfang分支重命名为master,
发现新命名的lenovo分支gitlab上看不到,master分支能看到,点击后提示404找不到,只能看到tongfang分支,
试图将当前的default分支改为tongfang分支,不成功。

五、解决办法,在远程创建master分支

远程gitlab里,在git库的commit->branch页面,new branch创建一个名为master的分支,开始位置是tongfang分支的最后一次提交点,将当前的default分支改为lenovo分支,成功。
创建master分支后,一切操作都正常了,看来master分支是必须存在的。

六、本地找回master分支

git branch -a
可以看到远程的master分支,没有本地的master分支
git checkout master
git branch -a
本地分支结构与远程完全一样。

七、后续

以后的共性修改都在master分支上,个性的改动在各厂商分支上。
共性修改合并到厂商分支的方法:
先git checkout 厂商分支
再git merge master

=====================================================================================================

ruixia,sun wechat
生活相关,请扫描wechat帐号获取更多精彩内容。。。。。。
0%