目录
一、版本控制软件的重要性
二、Git 基础概念
Git 特性的具体分析👇
Git 中的三个区域
Git 中的三种状态
Git 的工作流程
三、安装并配置 Git
四、Git 的基本操作一
五、Git 的基本操作二
一、版本控制软件的重要性
在分享git之前我先来说说为什么要用git,它是什么?它有什么好处呢?知己知彼才能百战百胜。
每个人的电脑里多多少少都会有文件,当你创建好几个作用相同的但内容稍有更改的文件的时候,是不是经常会在后面加xxx1,xxx2这种类似的用于区分,即操作麻烦又不规范,而且将这些文件只放在本地电脑里就很容易丢失,也不适用于协作。
这时候就要引入版本控制软件了,上面的缺点,有了它!就都可以迎刃而解了!
版本控制软件是一个用来记录文件变化,以便将来查阅特定版本修订情况的系统,因此有时也叫做"版本控制系统"。
通俗的理解:把手工管理文件版本的方式,改为由软件管理文件的版本;这个负责管理文件版本的软件,叫做"版本控制软件"。
使用版本控制软件的好处👇
版本控制系统并不是单一的,它大致分为三类:
每一类都有各自的优缺点👇
本地版本控制系统:
集中化的版本控制系统:
分布式版本控制系统:
典型代表:Git
二、Git 基础概念
Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大地项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出Git 的高性能和高可用性!
Git 之所以快速和高效,主要依赖于它的如下两个特性:
① 直接记录快照,而非差异比较②近乎所有操作都是本地执行
Git 特性的具体分析👇
① SVN 基于差异比较
这种控制系统只存储与上一个文件不同的部分,存储的内容都是不完整的,所以当你要切换版本的时候,就要从最初的文件开始找,再往后把差异的部分补充,直到更新到对应的版本,这样就非常的耗时且效率低。我们的 Git 才没有这么笨拙。
② Git 记录快照
虽然 Git 占用磁盘空间比较大,但是咱们版本切换是非常快的呀!效率高!
③ 几乎所有的操作都是本地执行
这个特性实在是不要太人性化啦,就算没有网络我们也可以对项目进行修改和管理呢~
我们再深入Git 的内部看看吧~
Git 中的三个区域
Git 中的三种状态
Git 的工作流程
三、安装并配置 Git
下载地址:Git
安装完后随便打开一个文件夹,鼠标右击,如果有 Git GUI Here 和 Git Bash Here 就说明安装完成了,然后就是要配置 Git,鼠标右击打开 Git Bash Here (接下来所有的操作都是在这里进行的),进行如下操作:
Git 全局配置文件
配置用户信息:通过 git config --global user.name 和 git config --global user.email 来设置自己的用户名和邮件地址。因为通过Git对项目进行版本管理的时候,Git需要使用这些基本信息,来记录是谁对项目进行了操作(注意:如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效)
检查配置信息
如果忘记了配置的用户名和邮箱被放在哪个文件夹中,可以通过 git config --list --global 查看所有的全局配置项
如果上面这些你都准备好了,那么就开始进入正题!如何用 Git 对文件进行管理
四、Git 的基本操作一
获取帮助信息的两种方式:
在现有目录中初始化仓库:
如果自己有一个尚未进行版本控制的项目目录,想要用 Git 来控制它,需要执行如下两个步骤:
① 在项目目录中,通过鼠标右键打开 "Git Bash"
② 执行 git init 命令将当前的目录转化为 Git 仓库
git init 命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分
如果你没看到 .git 这个文件,只要如下操作就可以看到了👇
工作区文件的4种状态:
Git 操作的终极结果: 让工作区中的文件都处于 “未修改” 的状态
检查文件的状态:
通过 git status 命令来查看文件处于什么状态,到这里为止,我们只是学会了如何创建 Git 仓库,并没有将文件纳入跟踪范围,所以显示文件未跟踪。
以精简的方式显示文件状态:
通过 git status -s 我们就可以以精简的方式显示文件的状态了,不需要再去猜那些英文的意思,只需要记住文件前面有红色的问号,就说明该文件是未被跟踪的。
跟踪新文件:
通过 git add 文件名 来开始跟踪一个文件,这时运行 git status 就会显示该文件已经被跟踪了,对应的精简方式就是文件的前面有一个 绿色的 A ,git add 执行完处于暂存状态
提交更新:
git commit -m "描述递交内容的信息",此时再执行 git status 命令,看到 nothing to commit 说明工作去中所有的文件都处于 "未修改" 的状态,没有任何文件需要被提交。执行完提交命令文件被提交到 git 仓库中进行保存
对已提交的文件进行修改:
记住当使用 git status -s 命令时,出现红色的 M 标记就说明已跟踪文件的内容发生了变化,但还没有放到暂存区
暂存已修改的文件:
还是通过 git add 命令将已修改的文件放到暂存区
提交已暂存的文件:
还是通过 git commit -m "提交消息" 命令,将暂存区中的文件提交到 Git 仓库中
看到这里,需要记住的命令有五个,分别是 获取帮助信息(git help config 或 git config -h)、初始化仓库(git init)、检查文件状态(git status 或 git status -s)、将文件添加到暂存区或者叫开始跟踪一个文件(git add)、将文件提交到 Git 仓库 (git commit -m "提交消息")
五、Git 的基本操作二
撤销对文件的修改:
使用 git checkout -- index.html 命令 插销对 index.html 文件的修改
很危险!因为所有的修改会丢失且无法恢复!
⭐向暂存区中一次性添加多个文件:
使用 git add . 命令,就可以一次性把所有新增和修改过的文件都加入暂存区了!着实方便!重点记住!
取消暂存的文件:
通过 git reset HEAD 要移除的文件名称,从暂存区中移除对应的文件
如果要移除全部的,就是 git reset HEAD .
跳过使用暂存区:
git commit -a -m "描述信息" 命令可以实现直接将文件从工作区到 Git 仓库
移除文件:
git rm-f index.js 从 Git 仓库和工作区中同时移除 index.js 文件
git rm --cached index.css 只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件
忽略文件:
创建名为 .gitignore 的配置文件, 在这个配置文件中列出要忽略的文件的匹配模式
glob模式:
举个例子:
查看提交历史:
git log
列出所有的提交历史git log -2
只展示最新的两条提交历史git log -2 --pretty=oneline
在一行上展示最近两条提交历史的信息git log -2 --pretty=format:"%h | %an | %ar | %s"
在一行上展示最近两条提交历史的信息,并自定义输出的格式%h 提交的简写哈希值 %an作者名字 %ar作者修订日期,按多久以前的方式显示 %s提交说明, 其中 | 可以改为别的符号
附上图片一张:
回退到指定版本:
git reset --hard <CommitID(写要回退的ID,先查看所有的,再复制要退回去的,当然也可以再回退到最新版本)>
这次的分享就到这里啦~如果你认真看了,那么相信 Git 的基本使用你已经学会了~