✍目录总览:
版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。
文档数量多且命名不清晰导致文档版本混乱
每次编辑文档需要复制,不方便
多人同时编辑同一个文档,容易产生覆盖
版本控制工具分为集中式版本控制工具与分布式版本控制工具
分布式版本控制工具
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷 :
Git是一个==版本管理控制系统==(缩写VCS),它可以在任何时间点,==将文档的状态作为更新记录保存==起来,也可以在任何时间点,将更新记录恢复回来。
Git是一个免费的、开源的分布式版本控制系统 ,可以快速高效地处理从小型到大型的各种项目
Git易于学习,占地面积小,性能 极快 。 它具有廉价的本地 库 ,方便的暂存区域和多个工作
流分支等特性。 其性能优于 Subversion、 CVS、 Perforce和 ClearCase等 版本控制 工具。
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为==远程库==
git仓库 | 暂存区 | 工作目录 |
---|---|---|
用于存放提交记录 | 临时存放被修改文件 | 被Git管理的项目目录 |
命令名称 | 作用 |
---|---|
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 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
基本语法:
git config --global user.name 提交人姓名
git config --global user.email 提交人邮箱
git config --list
并且在自己 C:\Users\Augenestern
下有个 .gitconfig
文件,打开里面就是我们设置的用户签名。
注意
基本语法:git init
基本语法:git status
语法:vim hello.txt
,然后按 i 键进入 INSERT,要想复制粘贴 ,需要先按 esc 键,之后 yy
复制,p
粘贴
文件内容输入完毕,需要先按:
,输入wq
,然后才算完成新增文件,再次查看
基本语法:单个文件 git add 文件名
全部文件git add .
基本语法:git commit -m "日志信息" 文件名
语法:vim 文件名
基本语法:
git reflog
查看版本信息git log
查看版本详细信息但是我们工作区的 hello.txt 始终只有一个文件存在
语法:git reset --hard 版本号
Git 切换版本,底层其实是移动的HEAD 指针,具体原理如下图所示
HEAD 指针指向 master 分支,master分支指向 first 版本
之后有了 second 版本,master 指针指向 second 版本
之后有了third 版本,master 指针指向 third 版本
==如果我们想穿越回去,只需要让 master 指针指向 first 版本或者 second 版本==
用暂存区中的文件覆盖工作目录中的文件: git checkout 文件
将文件从暂存区中删除: git rm --cached 文件
将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:git rest --hard commitID