Git 基本操作
初始化仓库到推送至远程
-
初始化仓库
在当前目录下生成一个 .git 目录
当前目录下所有的文件都处于 Untracked 未追踪的
git init -
添加至暂存区
将当前目录所有文件都添加到暂存区
git add . -
提交至本地仓库
git commit -m "提交日志" -
推送至远程仓库
-
在 Gitee 或 Github 等平台创建一个远程仓库
-
配置 SSH Keys
-
关联远程仓库
# 添加关联远程仓库 git remote add origin 仓库地址 # 删除关联远程仓库 git remote remove origin # 查看关联的远程仓库 git remote -v -
推送至远程仓库
git push -u origin 分支名
-
查看日志及版本管理
-
查看日志
git log git log --oneline git log -3 # 查看最近三次提交记录 -
版本回退
# --hard 慎用, 会清除所有未提交的代码 (代码只要未提交就无法还原) git reset --hard CommitID # --soft 不会清除未提交的代码 git reset --soft CommitID- 需求:我辛辛苦苦写了 300 多行 bug,想全部删除该怎么办?
-
解决方案:
# HEAD~0 表示最新版, HEAD~1 表示上一个版本, 以此类推 git reset --hard HEAD~0
-
撤销版本回退
# 查看操作日志 git reflog
代码提交流程
前提:一般情况下,不允许向主分支 push
工作环境的分支:
- master(线上稳定版本的代码)
- dev(开发分支)
- staging(测试服务器分支)
- login(业务分支...)
既然不能向主分支 push 代码,如何将代码合并到对应的分支呢?
解决方法:PR (Pull Request)
PR 提交流程
- 在本地新建一个分支,开始写代码
- 功能完成后,提交到本地
- 将分支推送至远程仓库
- 去远程仓库新建一个 PR
- 邀请你的老大来 review (检查) 你的代码
- 老大觉得代码通过了,并测试完成后,就同意合并到目标分支
提交代码的日志规范:
- feat:新增功能
- fix:修复 Bug
- docs: 修改文档
- chore: 添加或修改依赖库(yarn add / yarn remove)
- style:修改代码风格
- refactor: 重构
- perf: 性能优化、体验优化
- test: 测试用例
- build: 添加一些打包需要用的依赖