乐趣区

关于前端:vue-git

明天差不多从中午开始下午一点才开始学的,把 git 学了一大半了,还好工作不是很多,然而我上午用的工夫挺值的,因为我去搞了个 cnblogs 的背景主题,就是你们当初所看到的这套,这个没搞明确有一通钻研的,只不过当初曾经搞相熟了,增加那些参数,不得不说挺弱小的,这个本人编辑页面的性能,我最称心的这套主题,是自适应,以前用的默认的那个手机基本看不了,没想到当初这个竟然还能够自适应对手机用户几乎福音。
而后第二件事件,明天开始用 typora 了,感觉还能够,人不知; 鬼不觉一大版笔记,都有条有理的,我前面就用 Markdown 编辑器传上来了,因为顺便能够把我的笔记一起传上来,再配合点我做的成果演示。
搞了半天的 typora 主动上传图片到博客园里来那个 Python 脚本,终于搞好了,当前就不便了我的笔记主动传上来。

1. 对于版本控制

  1. 版本控制软件

即负责管理文件版本的软件,记录文件的版本变动

  1. 益处

以命令的模式,操作简便等

  1. 分布式版本控制系统

客户端是服务器的残缺备份,并不是只保留最新版本,而是会把服务器的所有版本下下来,这样的话,如果服务器数据失落,能够从任意一台客户端复原

2.git 基本概念

  1. 什么是 git

开源的分布式版本控制系统,特点:我的项目越大越简单,协同开发者越多越能体现 git 的高性能和高可用性

  1. 个性
  • svn 基于差别比拟:就是当更新一次版本的时候,不是去记录最新的版本而是将最新的版本的差别点记录下来
  • 记录快照

    git 外面的记录快照分为两种,一种是版本变动了会在原文件上对更新的版本做一个备份,如果没有更新就间接做出一个链接指向源文件,如下图,虚线为没有更新,实现示意更新了

其实这个快照就相似于虚拟机外面的快照,你每建设一次快照是不是因为你做出了一些操作想保留在这里,每次快照都是残缺的体系所以占用洗盘空间大

  • 近乎所有操作都是本地执行,只须要拜访本地文件和资源,因为后面说过 git 是分布式控制系统,客户端和服务器的资源是一样的,你有三个版本我也有三个版本,而且这一个性也决定了咱们在断网后照样能够版本治理,如果断网后你把 v3 降级到了 v4,你只管降级你的,服务器也检测不到因为断网了,当咱们联网后会把记录同步到云端的
  1. git 三个区域(工作区、暂存区、git 仓库)

当你在写代码的时候,代码的目录就是一个工作区;当你把代码写完一个性能后能够临时放到暂存区;最初全副实现将其放到 git 仓库

  1. git 三状态
  1. git 根本工作流程

写代码,而后将写好的性能放在暂存区外面暂存,此时就曾经过了已批改、已暂存状态,持续回去欠缺逻辑,当把所有性能实现后以快照的模式提交到 git 仓库外面

3. 装置配置 git

  1. 装置后测验查看右键菜单
  2. 配置

设置用户名和邮箱地址:

留神应用了 global 选项后阐明这个命令只须要运行一次即可永恒失效,前面就不必这个命令了

  1. 全局配置

    下面的命令执行后其实会在 c 盘 /users/ 用户名文件夹 /.gitconfig 这外面显示,这就是 git 的全局配置文件只有配置在这外面的配置一次永恒失效。

  2. 查看配置信息

也能够应用命令疾速查看

  1. 获取帮忙信息(不必联网)

git help 咱们的命令

eg:git help config

或者 git config -h

4.git 基本操作

  1. 获取 git 仓库的两种形式
  • 将一个本地目录转换为 git 仓库

    在当前目录下右键 git Bash,输出 git init。即可初始化一个仓库,当前目录下会有一个.git 的暗藏起来的目录,他就是以后我的项目的 git 仓库,外面蕴含了一些初始化的必要文件

  • 从其余服务器克隆一个 git 仓库
  1. 工作区中四种状态

分为两大类

一类是未被 git 治理的:那就会有未跟踪状态(在 git 上一次提交之前没有这个文件,也就是新创建的)

一类是已被 git 治理的:未修改(工作区里的内容和 git 仓库内容统一)、已批改(工作区外面的内容和 git 仓库内容不一样)、已暂存(工作区批改的文件已放入暂存区,筹备进入已提交状态)

留神:git 操作的终极后果为:让工作区的文件都处于“未修改”状态

  1. 查看文件状态

git status(输入的后果叫状态报告)

关键字:Untracked files 示意未跟踪状态

== 以精简形式显示文件状态 ==:git status -s

==??示意未跟踪 ==

  1. 跟踪新文件

git add 这个文件

committed: 新增了这个文件的治理并且放到了暂存区,committed 示意暂存区

== 精简版为 A ==== 结尾 ==

  1. 提交更新

git commit 或者 git commit -m 能够对这个提交胜利后作进一步的形容

这个就示意未修改状态,没有任何文件须要提交了

  1. 对已提交的文件进行批改

当咱们把曾经提交到仓库的 index.html 又拿到工作区上来批改,这个时候去 status 会显示 modified,简写版为 M 这就是已批改状态

  1. 暂存已批改的文件

再次运行 git add 即可 该命令能够吧未跟踪、已批改的文件放到暂存区

留神:未跟踪放到暂存区为 A 结尾,已批改放到暂存区还是 modified,还是 M 然而没放之前为红色,当初为绿色

  1. 撤销对文件的批改

将工作区批改的内容还原成仓库外面的内容,所有批改都会失落且无奈复原,危险性高

==git checkout — index.html==

  1. 向暂存区一次性增加多个文件

==git add .==

今后开发这个命令用的比拟多

  1. 勾销暂存文件

从暂存区移出一些文件

==git reset HEAD== 要移出的文件名称

全副移出进来 ==git reset HEAD .==

  1. 移除文件

    • 从 git 仓库和工作区都移除

    ==git rm -f index.js==

* 只从 git 仓库移除,保留工作区中的

==git rm --cached index.css==
  1. 疏忽文件

个别有些文件是不须要纳入 git 的治理当中的,也不心愿出线在未跟踪列表外面。

创立一个.gitignore 的配置文件(这个文件是能够上传的)

== 标准如下:==

  • \# 结尾都是正文
  • / 结尾是目录
  • / 结尾避免递归
  • !结尾示意取反
  • glob 模式指简化了的正则:

    • 例子

    留神:/ 结尾示意递归,这里的意思是只需略当前目录下 todo 文件夹,而不疏忽 <u> 其余目录 </u> 下 todo 文件夹,这就是递归;

    倒数第二个:只是疏忽这个目录下的 txt 文件,然而不会疏忽这个目录下的子目录下的 txt 文件

    1. 查看提交历史

    ==git log==

    git log -2 显示最新的两条

    git log -2 –pretty=oneline 在一行上展现最近的两条

    git log -2 –pretty=format:“%h | %an | %ar | %s“在一行上展现最近的两条并自定义输入格局

%h 示意提交的惟一标识 %an 示意作者名字 %ar 作者订正日期 %s 提交阐明

  1. 回退到指定版本

== 留神 ==:commitID 为方才说的惟一标志符,没有 <> 符号;回退到后面的版本后你查看提交历史就是过后那个时候的提交历史,想要查看所有的包含在他之后的须要输出第三条命令

退出移动版