仅个人笔记,参考前端框架前置课程完结篇_哔哩哔哩_bilibili
目录
1. Git
管理代码版本,记录,切换,合并代码
概念: 一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码
作用: 记录代码内容,切换代码版本,多人开发时高效合并代码内容
配置用户名和邮箱:
- git config --global user. name "username"
- git config --global user. email "1234567@qq.com”
- git config --list 查看配置
2. Git仓库
Git仓库(repository) : 记录文件状态内容的地方,存储着修改的历史记录 (在.git文件夹中)
创建Git仓库
- 把本地文件夹转换成Git仓库: 命令 git init
- 从其他服务器上克隆Git仓库
Git的三个版本
- 工作区
- 暂存区 git add 文件名 , git add .
- git ls -files 查看暂存区的文件
- 版本库 git commit -m "注释说明"
Git文件状态
- git status -s 查看暂存区和工作区的文件状态
Git 暂存区使用
- git ls -files ,------查看暂存区的文件
- git restore 目标文件,-----恢复原始文件
- git rm --cached 目标文件,------从暂存区移除文件
3. Git版本回退
概念: 把版本库某个版本对应的内容快照,恢复到工作区/暂存区,先恢复到暂存区再到工作区,从右往左依次恢复
查看提交历史 : git log --oneline , git reflog --oneline
回退命令
- git reset --soft 版本号(其他文件未跟踪),会保留其他文件信息
- git reset --hard版本号 ,不会保留其他文件信息
- git reset --mixed 版本号(与git reset等价)
4. Git删除文件
步骤:
- 1.手动删除工作区文件
- 2.暂存变更/手动删除暂存区文件造成变更3.提交保存
总结:
工作区只要改变,都可以暂存提交产生新记录
5. Git忽略文件
概念: .gitignore文件可以让 git彻底忽略跟踪指定文件
目的: 让git仓库更小更快,避免重复无意义的文件管理
例如:
- 1. 系统或软件自动生成的文件
- 2. 编译产生的结果文件
- 3. 运行时生成的日志文件,缓存文件,临时文件等
- 4. 涉密文件,密码,秘钥等文件
6. 分支
概念: 本质上是指向提交节点的可变指针,默认名字是master
注意: HEAD指针影响工作区/暂存区的代码状态
分支场景
C6-C8不会影响C5的结果
步骤:
- 创建分支命令: git branch 分支名
- 切换分支命令: git checkout 分支名
分支合并与删除
需求: 把login-bug合并回到master分支并删除login-bug分支
步骤:
- 切回到要合入的分支上: git checkout master
- 合并其他分支过来: git merge login-bug
- 删除合并后的分支指针: git branch -d login-bug
分支合并与提交
合并提交: 发生于原分支产生了新的提交记录后,再合并回去时发生,自动使用多个快照记录合并后产生一次新的提交
步骤
- 切回到要合入的分支上: git checkout master
- 合并其他分支过来: git merge content
- 删除合并后的分支: git branch -d content
分支合并冲突
新建的分支中对master包含的文件进行了修改,当新分支与master进行合并时,会出现冲突
解决:
- 打开vs code找到冲突文件并手动解决
- 解决后需要提交一次记录
7. Git常用命令
命令 | 作用 | 注意 |
---|---|---|
git -v | 查看git 版本 | |
git init | 初始化 git仓库 | |
git add 文件标识 | 暂存某个文件 | 文件标识以终端为起始的相对路径 |
git add . | 暂存所有文件 | |
git commit -m '说明注释' | 提交产生版本记录 | 每次提交,把暂存区内容快照一份 |
git status | 查看文件状态–详细信息 | |
git status -s | 查看文件状态-简略信息 | 第一列是暂存区状态,第二列是工作区状态 |
git ls-files | 查看暂存区文件列表 | |
git restore 文件标识 | 从暂存区恢复到工作区 | 如果文件标识为﹒则恢复所有文件 |
git rm --cached 文件标识 | 从暂存区移除文件 | 不让git跟踪文件变化 |
git log | 查看提交记录–详细信息 | |
git log --oneline | 查看提交记录–简略信息 | 版本号分支指针 提交时说明注释 |
git reflog --oneline | 查看完整历史–简略消息 | 包括提交,切换,回退等所有记录 |
git reset 版本号 | 切换版本代码到暂存区和工作区 | --soft模式保留暂存区和工作区原本内容 --hard模式不保留暂存区和工作区原本内容 |
git branch 分支名 | 创建分支 | |
git branch | 查看本地分支 | |
git branch -d 分支名 | 删除分支 | 请确保记录已经合并到别的分支下,再删除分支 |
git checkout 分支名 | 切换分支 | |
git checkout -b 分支名 | 创建并立刻切换分支 | |
git merge分支名 | 把分支提交历史记录合并到当前所在分支 |
8. 远程仓库
概念: 托管在因特网或其他网络中的你的项目的版本库
作用: 保存版本库的历史记录,多人协作
创建: 公司自己服务器/第三方托管平台(Gitee,GitLab,GitHub...)
例子
需求: 创建远程版本库,并把本地Git仓库推送上去保存
步骤:
- 注册第三方托管平台网站账号
- 新建仓库得到远程仓库Git地址
- 本地Git仓库添加远程仓库原点地址
- 命令: git remote add 远程仓库别名 远程仓库地址
- 例如: git remote add origin https:l/gitee.com/lidongxu/work.git
- 别名是为了避免一直要写仓库地址,用别名代替
- 本地Git仓库推送版本记录到远程仓库
- 命令: git push -u 远程仓库别名 本地和远程分支名
- 例如: git push -u origin master,将本地的master分支推送到远程的master分支
- 完整写法: git push --set-upstream origin master:master
协同开发
先把代码push推送上去,后续只需要pull或者push
9. vs code图形化界面使用Git
10. 案例
需求:把 webpack压缩好的dist分发文件夹网页,部署到码云上,开启Page服务在互联网中浏览
步骤:
- 初始化本地Git仓库(这次是非空文件夹-配套素材dist文件夹)
- 初始化远程Git仓库(这一次也是非空的)
- 本地配置远程仓库链接
- 本地拉取合并一下(确认本地要包含远程内容时使用)
- 本地推送到远程Git仓库
- 开启page 网页服务得到地址浏览
- 只能部署一些静态的网页
注意
当从远程仓库上pull文件时,会先把远程仓库的内容pull下来合并到本地仓库。
但当远程仓库和本地仓库分别初始化时,会有不一样的代码,这个时候使用pull会报错,使用强制pull命令(git pull --rebase ori master),这个时候远程才能合并到本地