2020/05/13-切换分支/拉取代码/合并代码/切换仓库
2020/05/14-开始项目/上传代码/常见的问题
2020/05/18-本地创建新的分支/创建新的远程分支/commit规范
2020/05/19-eslint简介
2020/05/20-eslint配置
2020/05/21-eslint配置(补充)
- 关于git的基本操作
- 关于git的常见问题
git clone [url]
- 切换分支
其次要先明白各种分支的目的:就实习的这个项目而言(dev/dev-deploy/release)dev所对应的就是日常编写代码的分支;dev-deploy所对应的就是测试环境分支;release所对应的就是上线后的代码分支
git checkout branch-name
- 提交代码
当代码编写完成后,需要提交到仓库
git add . //相当于stage all differences
git commit -m 'your message' // 说起commit貌似有一个commit规范
git push
- 拉取代码
在项目中有可能落后于整个项目的进度,此时就需要我们拉取代码
git pull
- 合并代码
分支间的代码进度会有所出入,此时需要进行合并代码
//在dev分支中合并dev-deploy的代码
git checkout dev
git merge dev-deploy
//在dev-deploy分支中合并dev的代码
git checkout dev-deploy
git merge dev
- 本地创建新的分支/创建新的远程分支
// 从已有的分支上创建一个新的分支
git checkout -b branch-name
// 创建新的远程分支
git push --set-upstream origin branch-name
- 切换仓库
虽然到现在为止只实习了一个月,但切换仓库还真让我碰上了,写着写着就连不上报错,就很迷惑
git remote -v // 查看远端地址
git remote //查看远端仓库名
git remote set-url origin [url]
- 我已经commit但未push,现在需要撤回操作
问题的描述如上,解决办法如下
git log // 此时会打开提交记录
git reset ID // 通过上面找到的ID
- 代码出错但是上传了
修改代码时部分代码出错了没有发现,但是已经上传了,对仓库造成了污染.这个时候需要在本地回滚版本以及在仓库强制回滚版本;昨天就碰到了(尴尬),是本人造成的(流下了菜鸡的泪水)
// 本地回滚版本
git log // 打开提交记录找到需要回滚的ID
git reset --hard ID
// 仓库强制回滚版本
git push -f
如上文所提到的,commit需要规范,这样可以让小组的其他成员更加明了地看到你的修改内容。团队项目的话规范是十分重要的,所以要养成一个好的习惯(我也在ing)
更详细的git commit规范详见
字段 | 详细 |
---|---|
feat | 新增feature |
fix | 修复bug |
docs | 仅仅修改了文档,如readme.md |
style | 仅仅是对格式进行修改 |
refactor | 代码重构,没有新增功能或修复bug |
perf | 优化相关,如提升性能、用户体验 |
test | 测试用例,包括单元测试、集成测试 |
chore | 改变构建流程、或者增加依赖库、工具等 |
revert | 版本回滚 |
- 关于eslint
- 项目中eslint的相关配置
ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。
更多的ESlint前往官方文档
如果项目在初始化的时候没有安装eslint模块,在进行clone操作到本地后
npm install eslint babel-eslint
eslint --init
// Use Eslint Loader?
// If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console.
useEslint: true,
// If true, eslint errors and warnings will also be shown in the error overlay
// in the browser.
showEslintErrorsInOverlay: false,
"lint": "eslint --ext .js,.vue src --fix",
在File>>preferences>>settings里面进行设置
"eslint.options": {
"extensions": [".js",".vue"]
},