Git
版本控制
版本控制是指,对软件的程序代码,配置文件以及说明文档的变更进行记录,修改后的记录保存下来后可以进行查看与提取,相当于一个代码存放的仓库。版本控制除了能够记录代表的版本之外,还可以实现多名开发者的并行开发,能够协同不同开发者之间的通信,提高协同开发的效率
集中式版本控制工具
例如CVS、SVN这类的版本控制工具都会有一个单一的集中管理的服务器,由该服务器保存所有的代表修订版本,协同开发的人从该服务器进行代码的提交或者更新。
特点:所有的代码修订版本都存储在服务器端,而本地不存储版本记录
这样做的缺点是服务器的单点故障会导致无法正常的更新与提交代码
分布式版本控制工具
例如Git,是现在流行的一款版本控制工具,客户端不是提取的最新的版本文件,而是将服务器端的整个仓库给镜像下来,每个客户端都会有一个完整的仓库在本地进行版本控制,客户端每一次提取文件都是对仓库的完整备份,如果客户端在哪一次的提交文件发生故障,事后也可以通过其他客户端中的仓库修复回来
特点:本地也会有一个仓库存储版本修订的文件,每次从服务器端提取文件都会备份仓库
Git的工作流程
本地控制流程及概念
1.工作区:工作区即是源代码存放在本地磁盘中的目录文件,开发者编写代码的位置,由开发者进行代码编写完成后可以向暂存区提交代码
2.暂存区:叫stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.
3.本地库:在存放源代码的磁盘目录中有一个隐藏的目录文件.git,该目录是git存放版本修订文件的本地仓库提交暂存区代码到本地仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史记录,和其他版本做比较.
远端仓库
远端仓库即代码托管中心,这是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
远端仓库分为两种
局域网:GitLabe
互联网:GitHub(国外)、Gitee(国内)
提交后的代码存放于本地库中,可以将本地库的文件向远端仓库进行推送,推送时需要保证网络的通畅。
Git命令
初始化:(执行前必须先有一个项目目录)
git init 仓库名
在该命令执行后会在仓库中生成一个隐藏的.git目录
提交到暂存区:(执行前需要先进入该仓库所在的目录)
git add 文件名 (提交指定文件) git add . (提交所有所有文件)
查看暂存区
git ls-files
查看提交到暂存区的文件
恢复暂存区的指定文件到工作区:
git reset 文件名 撤销指定文件 git reset . 撤销所有文件
提交到本地仓库:(第一次提交的时候会需要登记邮箱与用户名,使用提示的邮箱与用户名即可使用)
git commit -m 注释
查看仓库状态
git status
克隆项目
git clone 地址