出现问题
快下班准备提交代码走人了事,但忘记 pull 导致发生冲突。(切记一定正确提交代码) 冲突未能成功解决引发了变基,第一次遇到变基这种问题,在我的一顿操作下,本地项目更加烂了,运行不起来。各种报错
变基
什么是变基
变基,就是基低(基低还是基地,俺也不晓得)的意思,就像盖楼一样,一层层向上盖,最下面的是地基,我们把盖的每一层称为基。
(为了更好的理解,就拿上述盖楼为例)
假如,我们的楼层盖好了,共18层,需要多个装修工去每一层进行装修。我的装修团队一共有三个人,分别为A、B、C。
A 负责第一层,B 负责第二层,C 负责第三层。按照正常的逻辑,三个人谁提前装修完自己的那一层,谁就要到第四层进行装修。
但是有个问题就是,假如 B 第二层也装修完毕,但是 B 不知道其他两个人的最新进度,所以需要通过某种方式,把自己当前的进度更新到最新(B 应该知道下一步该装修第几层),才能继续在其他两人的进度基础上继续装修。
变基模式
一般为每个人在自己的分支上开发,最后每个负责人把每个人开发的分支合并到主分支上。变基模式的场景:
- 项目变大,团队的人员变多了,提交的分支越来越多,而且每个人commit之后都要合并到主分支,整个git分支图看起来很乱。
- 各种各样的commit,如果出现紧急情况,需要回滚代码,大量的commit需要一条条的看,会崩溃的。
- 代码回滚:
git reset --hard commit
- 回滚本地代码(操作如上)
- 给远程仓库代码打个tag或者新建一个分支来备份(以备不时之需)
强制覆盖远程仓库:git push --force
变基常用命令
- push 代码前达到与远程仓库代码一致:
git pull basedev --rebase
这个命令的相当于,B 直接到达了楼层的第五层进行装修。而且我们的装修记录,也就是我们的开发主分支变的非常的清晰和明确,就是一条挂满 commit 的分支线。 - 提交最新代码的时候,不要忘记 rebase,
解决办法
自己对变基操作不是很熟,就不写指令了,可以去查查可以找到自己想要的。我的操作是:首先切换到本地分支,检查代码是否有误,看看能不能运行。解决完发现 npm install
报错,但是安装之后依旧运行不了。发现是权限问题,因为用的内网和虚拟桌面所以各种倒腾,人要崩溃了。
最后尝试了以下指令:
重新 npm install
– npm i -D wepack-dev-server@3.0.0
– npm run dev
错误运行不起来,进行第二种操作
清空后安装 rm node_modukes
– rm package-lock.json
– npm cache clear --force
– npm install
– npm run dev
成功运行
在dev分支可以正常运行,我切换会我自己的分支,发现依旧运行不了,就各种问题,最后切回到dev分支
删除自己本地分支 git branch -d 自己的分支
删除远程自己分支git push origin --dekete 自己的分支名
创建自己的分支git branch 分支名