版本控制:是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统
为什么要使用版本控制:有了它,就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致问题出现的原因。
集中化的版本控制系统:例如:svn,都有一个单一的集中管理的服务器保存所有文件的修订版本,而协调工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。但是这样也是有风险的,如果中央服务器的磁盘发生故障,碰巧没有备份,就会有数据丢失的风险。

分布式版本控制系统:例如Git,客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协调工作的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每次的提取操作,实际上都是一次对代码仓库的完整备份。

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:


1、工作区:代码存放的磁盘的目录的位置。目录,就是工作区,代码存放的地方。
2、添加暂存区:将代码存放到暂存区,让Git可以知道。暂存区的代码也是可以删除的。
3、提交本地库:一旦将代码提交到了本地库,那么就会生成对应的历史版本。一旦生成历史版本,那么这个代码就删不掉了
代码托管中心:是基于网络服务器的远程代码仓库,我们称为远程库
注:在git上面完全可以直接使用Linux命令
| 命令名称 | 作用 |
|---|---|
| git config --global user.name 用户名 | 设置用户签名 |
| git config --global user.email 邮箱 | 设置用户签名 |
| git init | 初始化本地库 |
| git status | 查看本地库状态 |
| git add 文件名 | 添加到暂存区 |
| git commit -m “日志信息” 文件名 | 提交到本地库 |
| git reflog | 查看历史记录 |
| git reset --hard 版本号 | 版本穿梭 |
在桌面右键,点击Git Bash Here ,打开Bash Here客户端

1、查看版本信息:
git --version

初次使用git的时候需要设置用户名和邮箱。
说明:签名的作用是区分不同操作者的身份。用户的签名信息在每一个版本的提交信息当中能够看到,以此确认本次提交是谁做的。

首先,直接打开需要管理的项目的目录,然后右键点击Git Bash Here,这样就能在Git上面直接进入这个目录了。(这里使用的是图形化的方法)

初始化本地库:
git init

此时文件夹下就多了一个git的目录:

git status


添加暂存区,其实就是git追踪文件的过程
git add hello.txt

从暂存区当中删除Day1.java文件:
git rm --cached Day1.java

将暂存区的文件提交到本地库,并且形成历史版本
git commit -m "日志信息" 文件名
提交成功:

查看引用日志信息:
git reflog
使用reflog查看的版本号是前七位的精简版的版本号

查看详细日志:
使用flog查看的版本号是完整版的版本号
git flog
