什么是Git?
Git
是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
分布式和集中式的区别
分布式:
每一个用户都在本地拥有一个完整的仓库
优点:如果服务器崩溃了,可以立即从用户手中clone一份完全一样的代码仓库出来,不用担心服务器崩溃
可以本地提交
集中式:
由一个代码服务器集中管理代码
优点: 代码必须存储在服务器,如果没有服务器则无法提交和更新,代码安全性搞
缺点:如果服务器崩了,就废了
结论:前端领域更多的使用Git而不是SVN
Git基本操作
1.初始化仓库
在当前目录下生成一个.git目录
在当前目录下所有文件都处于Untracked未追踪的
git init
2.添加至暂存区
将当前目录所有文件都添加到暂存区
git add .
3.提交至本地仓库
git commit -m "提交日志"
4.推送至远程仓库
1.在Gitee或 Github 等平台创建一个远程仓库
2.配置SSH Keys
3.关联远程仓库
#添加关联远程仓库
git remote add origin 仓库地址
#删除关联远程仓库
git remote remove origin
#查看关联的远程仓库
git remote -v
#推送至远程仓库
git push -u origin 分支名
查看日志及版本管理
1.查看日志
git log
git log --oneline
git log -3 #查看最近三次的提交记录
2.版本回退
#--hard 慎用 ,会清除所有未提交的代码(代码只要提交就无法还原)
git reset --hard CommitID
#--soft 不会清除未提交的代码
git reset --soft CommitID
需求:我辛辛苦苦写了300多行bug,想全部删除怎么办?
解决方案:
#HEAD~0表示最新 ,HEAD~1表示上一个版本,以此类推
git reset --hard HEAD~0
代码提交流程
前提:一般情况下,不允许向主分支push
工作环境的分支:
master(线上稳定版本的代码)
dev(开发分支)
staging(测试服务器分支)
xxx具体的业务分支
既然不能向主分支 push 代码,如何将代码合并到对应的分支呢
解决方法:PR(Pull Request)
1.在本地新建一个分支,开始写代码
2.功能完成后,提交到本地,将分支推送至远程仓库
3.去远程仓库新建一个PR
4.邀请你的老大来review(检查)你的代码
5.老大觉得代码通过了,并测试完成后,就同意合并到目标分支
提交代码的日志规范:
1.feat : 新增功能
2.fix: 修复Bug
3.docs:修改文档
4.chore:添加或修改依赖库(yarn add / yarn remove)
5.style:修改代码风格
6.refactor:重构
7.perf:性能优化、体验优化
8.test:测试用例
9.build:添加一些打包需要用的依赖
加油加油!!!
努力学习!!!