独书先生 Menu

All items for 3月, 2020

git创建仓库提交代码

创建一个仓库后

# Git global setup
git config --global user.name "独书先生"
git config --global user.email "1414556676@qq.com"

# Create a new repository
git clone ssh://git@github.com/DuShuSir/openSource.git
cd jystaticft
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

# Push an existing folder
cd existing\_folder
git init
git remote add origin ssh://git@github.com/DuShuSir/openSource.git
git add .
git commit -m "Initial commit"
git push -u origin master

# Push an existing Git repository**
cd existing\_repo
git remote rename origin old-origin
git remote add origin ssh://git@github.com/DuShuSir/openSource.git
git push -u origin --all
git push -u origin --tags

删除GitHub中的所有提交历史记录

删除.git文件夹可能会导致git存储库中的问题。如果要删除所有提交历史记录,但将代码保持在当前状态,可以按照以下方式安全地执行此操作:

  1. 尝试 运行 git checkout –orphan latest_branch
  2. 添加所有文件 git add -A
  3. 提交更改 git commit -am “commit message”
  4. 删除分支 git branch -D master
  5. 将当前分支重命名 git branch -m master
  6. 最后,强制更新存储 git push -f origin master

设置本地多账户

git init
git add .
git commit -m "init"
git remote add origin https://github.com/Dushusir/lwa.git
git remote set-url origin https://Dushusir@github.com/Dushusir/lwa.git
git config --local credential.helper store
git push -u origin master

详细理解多账户:

git多账户管理: 区分全局账户和本地账户

git tag 打标签

在commit之后

git tag -a release-v0.0.0 -m "内容"
git push origin release-v0.0.0

git 撤销 add commit 操作:

git reset HEAD .

参考

https://appsoftea.com/zh/git-init-repository-push-code/

callback Promise async 对比

需求

用最简单的示例,对比callback/Promise/async之间的演进对比,理解了callback和Promise的用法,更能体会async的方便之处,且现在推荐都使用async或者Promise和async混合使用

代码

//callback
function callbackFunc(x, callback) {
  f1(x, (err1, result1) => {
    if (err1) {
      console.error(err1);
      callback(err1);
      return;
    }
    f2(result1, (err2, result2) => {
      if (err2) {
        console.error(err2);
        callback(err2);
        return;
      }
      console.log(result2);
      callback(null, result2);
    });
  });
}

//Promise
function promiseFunc(x) {
  return f1(x)
    .then(result1 => {
      return f2(result1);
    })
    .then(result2 => {
      console.log(result2);
      return result2;
    })
    .catch(err => {
      console.error(err);
      throw err;
    });
}

//async
async function asyncFunc(x) {
  try {
    const result1 = await f1(x);
    const result2 = await f2(result1);
    console.log(result2);
    return result2;
  } catch (err) {
    console.error(err);
    throw err;
  }
}

vue no-parsing-error x-invalid-end-tag 报错

分类:vue

问题

vue + iview + eslint环境下开发,写一个<Input></Input>时报了错,提示如下:

Parsing error: x-invalid-end-tag.

原因

iView在标签渲染为原生html标签时候,因为这些标签是自闭合的,所以有end标签会报错

解决

vue cli2:

  1. 在根目录下找到.eslintrc.js – rules文件
  2. 在rules中添加一行,内容为:
  3. ‘vue/no-parsing-error’: [2, { ‘x-invalid-end-tag’: false }] // 关闭对iview end-tag 检查
  4. 重启启动服务 npm run serve / npm run dev。

vue cli3:

  1. 进入vue ui运行的http://localhost:8000管理界面
  2. 找到:配置-ESLint configuration-规则-vue/no-parsing-error, 改为关闭并保存修改
  3. 重新启动server