1. git pull 报错 fatal: refusing to merge unrelated histories
问题产生原因
git merge 命令拒绝合并不是同一祖先的历史记录。报错出现的场景,通常是直接把本地项目上传到远程仓库。从远程直接克隆下来的项目不会存在这个问题
解决方法
git pull origin master –allow-unrelated-histories
2. 前后端同一分支开发,合并分支只合并前端开发的代码,不提交后端的开发代码
问题产生原因
前端后端共用一个仓库;前后端同一分支开发问题;分支合并默认会合并所有的更改到当前分支上(新人也没敢问,为啥要在一个分支开发)
解决方法
- 避免同一分支开发,前后端开发各自都应该有自己的开发主分支
- git获取指定目录下的更改,有选择的合并内容
实现步骤
-
将dev分支上的部分改动,合并到master分支,先切换到dev分支上
git checkout dev
-
输入以下git命令
git checkout --patch master path(路径)
项目目录结构如下
可以这样输入,获取web文件夹下所有的更改
git checkout --patch master ./web/
执行命令后,会逐条展示出dev分支上的改变,并会提示你 Apply this hunk to index and worktree [y,n,q,a,d,e,?]?
输入y,则将这个改动合并到master,若是还有其他改动会在后面,还会以此形式展示出来,继续输入y,继续合并到master若想将所有的变动都合并到master,不想一条条的查看输入y,直接输入a即可
更详细的参数说明,可以 点击查阅
3. vue + elementui 报错 Avoided redundant navigation to current location…
问题产生原因
重复点击相同的tab栏菜单,会报错,但是不影响功能
解决方法
// 打开router目录下的index.js文件,复制下面代码,添加到最下方就可以了
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return originalPush.call(this, location).catch(err => err)
}
4. elementui form表单添加自定义校验时无法触发验证
问题产生原因
自定义校验 callback 可能未被调用。
解决方法
export default {
data(){
const nameReg = (rule, value, callback) => {
if(value && value.length > 10){
return callback(new Error("保持10位以内"));
}else{
callback() // 必须调用callback()
}
};
return {
rules: {
cmxzscr: [
{
required: true,
message: "请输入负责人",
trigger: "blur"
},
{
validator: nameReg,
trigger: "blur"
}
]
}
}
}
}
5. Vue3.x 向子组件传递一些属性,控制台报错
Extraneous non-props attributes (info) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.
问题产生原因
传递的属性,子组件接收到了,但是没有使用上
解决方法
删除无用的属性传递,确保每个传递的属性在子组件中都能被用到
6. npm run dev 提示 Cannot find module ‘core-js/modules/es6.regexp.constructor‘
es6 语法无法识别
解决方法
npm install core-js@2