From 8020113d3b12a466e56fa06262424e8a0cc77778 Mon Sep 17 00:00:00 2001 From: wangxinfei Date: Mon, 19 May 2025 17:37:27 +0800 Subject: [PATCH] md commit --- Git.md | 270 ++++++++++++++ vue2.md | 1069 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1339 insertions(+) create mode 100644 Git.md create mode 100644 vue2.md diff --git a/Git.md b/Git.md new file mode 100644 index 0000000..ff22b2d --- /dev/null +++ b/Git.md @@ -0,0 +1,270 @@ +## 本资源由 itjc8.com 收集 +## 1. Git基础 + +### 1.1 版本管理 + +#### 1.1.1 什么是版本管理 + +版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。 + +![](assets/01.png) + +#### 1.1.2 人为维护文档版本的问题 + +1. 文档数量多且命名不清晰导致文档版本混乱 + +2. 每次编辑文档需要复制,不方便 + +3. 多人同时编辑同一个文档,容易产生覆盖 + + + + +![](assets/04.png) + + + +### 1.2 Git 是什么 + +Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。 + + + +![](assets/19.png) + +### 1.3 Git 安装 + +[下载地址](https://git-scm.com/downloads) + +在安装的过程中,所有选项使用默认值即可。 + + + +### 1.4 Git 基本工作流程 + +| git仓库 | 暂存区 | 工作目录 | +| ---------------- | ------------------ | ------------------- | +| 用于存放提交记录 | 临时存放被修改文件 | 被Git管理的项目目录 | + +![](assets/05.png) + +### 1.5 Git 的使用 + +#### 1.5.1 Git 使用前配置 + +在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。 + +1. 配置提交人姓名:`git config --global user.name 提交人姓名` +2. 配置提交人姓名:`git config --global user.email 提交人邮箱` +3. 查看git配置信息:`git config --list` + +**注意** + +1. 如果要对配置信息进行修改,重复上述命令即可。 + +2. 配置只需要执行一次。 + +#### 1.5.2 提交步骤 + +1. `git init` 初始化git仓库 +2. `git status` 查看文件状态 +3. `git add 文件列表` 追踪文件 +4. `git commit -m 提交信息` 向仓库中提交代码 +5. `git log` 查看提交记录 + +#### 1.5.3 撤销 + +- 用暂存区中的文件覆盖工作目录中的文件: `git checkout 文件` + +- 将文件从暂存区中删除: `git rm --cached 文件` +- 将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:`git rest --hard commitID` + +![](assets/07.png) + + + +## 2. Git进阶 + +### 2.1 分支 + +为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。 + +使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。 + +![](assets/08.png) + + + +#### 2.1.1 分支细分 + +1. 主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支。 + + + + ![](assets/06.png) + + + +2. 、开发分支(develop):作为开发的分支,基于 master 分支创建。 + + + + ![](assets/09.png) + +3. 功能分支(feature):作为开发具体功能的分支,基于开发分支创建 + + + + ![](assets/10.png) + +**功能分支 -> 开发分支 -> 主分支** + +#### 2.1.2 分支命令 + +- `git branch` 查看分支 + +- `git branch 分支名称` 创建分支 + +- `git checkout 分支名称` 切换分支 +- `git checkout -b master origin/分支名称` 创建并切换分支并拉取代码 + +- `git merge 来源分支` 合并分支 + +- `git branch -d 分支名称` 删除分支(分支被合并后才允许删除)(-D 强制删除) + + +### 2.2 暂时保存更改 + +在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。 + +使用场景:分支临时切换 + +- 存储临时改动:`git stash` +- 恢复改动:`git stash pop` + +## 3. Github + +在版本控制系统中,大约90%的操作都是在本地仓库中进行的:暂存,提交,查看状态或者历史记录等等。除此之外,如果仅仅只有你一个人在这个项目里工作,你永远没有机会需要设置一个远程仓库。 + +只有当你需要和你的开发团队共享数据时,设置一个远程仓库才有意义。你可以把它想象成一个 “文件管理服务器”,利用这个服务器可以与开发团队的其他成员进行数据交换。 + +### 3.1 注册 + +1. 访问[github](https://github.com/)首页,点击 Sign up 连接。(注册) + + ![](assets/11.png) + +2. 填写用户名、邮箱地址、GitHub登陆密码 + + ![](assets/12.png) + +3. 选择计划 + + ![](assets/13.png) + +4. 填写 GitHub 问题 + + ![](assets/14.png) + +5. 验证邮箱 + + ![](assets/15.png) + +6. GitHub 个人中心 + + ![](assets/16.png) + + + +### 3.2 多人协作开发流程 + +- A在自己的计算机中创建本地仓库 +- A在github中创建远程仓库 +- A将本地仓库推送到远程仓库 +- B克隆远程仓库到本地进行开发 +- B将本地仓库中开发的内容推送到远程仓库 +- A将远程仓库中的最新内容拉去到本地 + +![](assets/20.png) + + + +![](assets/21.png) + +### 3.3 创建仓库 + +1. 填写仓库基本信息 + + ![](assets/17.png) + +2. 将本地仓库推送到远程仓库 + + ![](assets/18.png) + + 1. git push 远程仓库地址 分支名称 + + 2. git push 远程仓库地址别名 分支名称 + + 3. git push -u 远程仓库地址别名 分支名称 + + -u 记住推送地址及分支,下次推送只需要输入git push即可 + + 4. git remote add 远程仓库地址别名 远程仓库地址 + +### 3.4 拉取操作 + +#### 3.4.1 克隆仓库 + +克隆远端数据仓库到本地:`git clone 仓库地址` + +#### 3.4.2 拉取远程仓库中最新的版本 + +拉取远程仓库中最新的版本:`git pull 远程仓库地址 分支名称` + +### 3.5 解决冲突 + +在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决。 + +### 3.6 跨团队协作 + +1. 程序员 C fork仓库 +2. 程序员 C 将仓库克隆在本地进行修改 +3. 程序员 C 将仓库推送到远程 +4. 程序员 C 发起pull reqest +5. 原仓库作者审核 +6. 原仓库作者合并代码 + +### 3.7 ssh免登陆 + +https协议仓库地址:https://github.com/itcast-frontEnd/git-demo.git + + + +![](assets/22.png) + +生成秘钥:`ssh-keygen` + +秘钥存储目录:C:\Users\用户\\.ssh + +公钥名称:id_rsa.pub + +私钥名称:id_rsa + +![](assets/23.png) + +![](assets/24.png) + +### 3.8 GIT忽略清单 + +将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。 + +git忽略清单文件名称:**.gitignore** + +将工作目录中的文件全部添加到暂存区:`git add .` + + + + + + + diff --git a/vue2.md b/vue2.md new file mode 100644 index 0000000..fbdae3f --- /dev/null +++ b/vue2.md @@ -0,0 +1,1069 @@ +# 笔记 + +## 脚手架文件结构 + + ├── node_modules + ├── public + │ ├── favicon.ico: 页签图标 + │ └── index.html: 主页面 + ├── src + │ ├── assets: 存放静态资源 + │ │ └── logo.png + │ │── component: 存放组件 + │ │ └── HelloWorld.vue + │ │── App.vue: 汇总所有组件 + │ │── main.js: 入口文件 + ├── .gitignore: git版本管制忽略的配置 + ├── babel.config.js: babel的配置文件 + ├── package.json: 应用包配置文件 + ├── README.md: 应用描述文件 + ├── package-lock.json:包版本控制文件 + +## 关于不同版本的Vue + +1. vue.js与vue.runtime.xxx.js的区别: + 1. vue.js是完整版的Vue,包含:核心功能 + 模板解析器。 + 2. vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有模板解析器。 +2. 因为vue.runtime.xxx.js没有模板解析器,所以不能使用template这个配置项,需要使用render函数接收到的createElement函数去指定具体内容。 + +## vue.config.js配置文件 + +1. 使用vue inspect > output.js可以查看到Vue脚手架的默认配置。 +2. 使用vue.config.js可以对脚手架进行个性化定制,详情见:https://cli.vuejs.org/zh + +## ref属性 + +1. 被用来给元素或子组件注册引用信息(id的替代者) +2. 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc) +3. 使用方式: + 1. 打标识:```

.....

``` 或 `````` + 2. 获取:```this.$refs.xxx``` + +## props配置项 + +1. 功能:让组件接收外部传过来的数据 + +2. 传递数据:`````` + +3. 接收数据: + + 1. 第一种方式(只接收):```props:['name'] ``` + + 2. 第二种方式(限制类型):```props:{name:String}``` + + 3. 第三种方式(限制类型、限制必要性、指定默认值): + + ```js + props:{ + name:{ + type:String, //类型 + required:true, //必要性 + default:'老王' //默认值 + } + } + ``` + + > 备注:props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。 + +## mixin(混入) + +1. 功能:可以把多个组件共用的配置提取成一个混入对象 + +2. 使用方式: + + 第一步定义混合: + + ``` + { + data(){....}, + methods:{....} + .... + } + ``` + + 第二步使用混入: + + ​ 全局混入:```Vue.mixin(xxx)``` + ​ 局部混入:```mixins:['xxx'] ``` + +## 插件 + +1. 功能:用于增强Vue + +2. 本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。 + +3. 定义插件: + + ```js + 对象.install = function (Vue, options) { + // 1. 添加全局过滤器 + Vue.filter(....) + + // 2. 添加全局指令 + Vue.directive(....) + + // 3. 配置全局混入(合) + Vue.mixin(....) + + // 4. 添加实例方法 + Vue.prototype.$myMethod = function () {...} + Vue.prototype.$myProperty = xxxx + } + ``` + +4. 使用插件:```Vue.use()``` + +## scoped样式 + +1. 作用:让样式在局部生效,防止冲突。 +2. 写法:```