版本控制
- 什么是版本控制:版本控制是一种记录一个或若干文件内容变化,方便我们查看修改情况的系统,使用版本控制,管理代码的版本迭代
- 为什么要使用版本控制:因为如果我们在一个项目上进行一系列的操作,但是我们又想回到原来的版本,这个时候我们就要使用版本控制
1.集中化的版本控制系统
简介:集中化的版本控制系统,例如:svn,把代码存放在单一的服务器上,开发工作人员连到服务器可以进行修改和提交更新.
优点:把代码存放在单一的服务器上,方便对项目的管理
缺点:如果这个集中化的服务器发生故障,那么开发人员就没有办法协同工作,不是不能工作,只是编写的代码没有保障.
2.分布式的版本控制系统
简介:分布式版本控制系统,例如:Git,每一次对代码的操作,都会对代码实现一个完整的备份
优点:断网的情况下也可以进行开发(因为它的操作是在本地完成),速度快,任意两个开发者之间,可以很容易解决冲突
缺点:代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
一.Git
1.简介
Git是目前世界上最先进的分布式版本控制系统,是一个开源的分布式版本控制系统,可以有效、高速的处理从小到非常大的项目版本管理,以及多人协同参与项目的开发,git的最初开发者是Linux之父Linus Torvalds
2.Git安装
git 官方地址:https://git-scm.com/
安装的时候直接下一步下一步就行了,安装完成之后在桌面随便找个地方鼠标右键菜单列表中出现Git GUI Here/Git Bash Here就证明你的电脑安装git软件已经成功了可以使用了
3.Git结构
工作区(代码区) – git add – 暂存区(临时存储) – git commit – 本地库(历史版本)
4.初始化配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。
- 用户信息
要配置的是你个人的用户名称和电子邮件地址,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一
起被永久纳入历史记录
作用:区分不同开发人员的身份 - 项目级别/仓库级别:仅在当前本地库范围内有效
个人的用户名称: $ git config user.name “damu”
电子邮件: $ git config user.email damu123@qq.com
要检查已有的配置信息,可以使用 git config --list 命令
删除配置信息 git config --unset user.email
git config --unset user.name - 系统用户级别:登录当前操作系统的用户范围
个人的用户名称: $ git config --global user.name “damu”
电子邮件: $ git config --global user.email damu@example.com
删除配置信息 git config --global --unset user.email
git config --global --unset user.name - 级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
5.Git的基本命令操作
1.基础的 linux 命令
clear :清除屏幕
echo ‘test content’:往控制台输出信息
ll :将当前目录下的 子文件&子目录平铺在控制台
find 目录名: 将对应目录下的子孙文件&子孙目录平铺在控制台
find 目录名 -type f :将对应目录下的文件平铺在控制台
rm 文件名 : 删除文件
mv 源文件 重命名文件: 重命名
cat 文件的 url : 查看对应文件的内容
vim 文件的 url(在英文模式下):
按 i 进插入模式 进行文件的编辑
按 esc 键&按:键 进行命令的执行
q! 强制退出(不保存)
wq 保存退出
set nu 设置行号
2.初始化仓库
命令: git init
解析:要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:git init
作用:初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。不过我们还没有开始跟踪管理项目中的任何一个文件
注意点:成功执行git init后,没有找到.git文件夹,是因为.git文件被隐藏了,点击查看,勾选隐藏的项目,会显示出.git文件夹
当前文件夹→查看→显示和隐藏→勾选隐藏的项目
git目录
hooks:目录包含客户端或服务端的钩子脚本
info:存放项目信息
logs:保存日志信息
objects:目录存储所有数据内容
refs:目录存储指向数据的提交对象的指针(分支)
config:项目的配置信息,git config 命令会改动它
description:项目的描述信息
HEAD:这个 git 项目当前处在哪个分支里
index:文件保存暂存区信息(索引文件)
3.基本操作
- 状态查看
git status
作用:查看当前文件处于什么状态 - 添加(暂存区)
git add 文件名
作用:将工作区 “新建/修改” 添加到暂存区 - 提交(本地库)
git commit -m “commit message” 文件名
作用:将暂存区的内容提交到本地库
总结:以上就是集中式版本控制系统和分布式版本控制的区别,还有git的简介与安装,git配置个人用户名称和电子邮件地址,git的目录结构,git的当前状态的查看,把文件添加到暂存区,将暂存区的内容提交到本地库