Version Control System,简称为VCS,版本控制系统是一种记录一个或多个文件的内容变化,以便未来查阅特定版本的内容变化状况的系统。html
简单来讲,就是用来保存文件内容变动记录的系统,能够将文件回退到过去某个时间点的状态。git
版本控制系统的种类:github
本地版本控制系统shell
版本库存放在本地磁盘上服务器
缺点:没法协同开发分布式
集中化版本控制系统ide
版本库集中存放在中央服务器上,全部参与人员都链接到该服务器,实现协同开发工具
缺点:本身电脑上没有版本库,本地没法进行版本管理,必须链接中央服务器才能进行版本控制,若是中央服务器宕机,则没法工做fetch
表明应用:Subversion(SVN)网站
分布式版本控制系统
每一个人的电脑上都是一个完整的版本库,在本地就能够进行版本管理,无需连网
但通常都会经过远程仓库来交换版本的修改
表明应用:Git
Git是一个开源的分布式版本控制系统,用来进行项目版本管理
其实就是一个软件, 由一组命令组成,可以对项目代码进行版本控制
基本流程:
官网:https://git-scm.com
下载:Git-2.22.0-32-bit.exe、Git-2.22.0-64-bit.exe
安装:只有Windows系统须要手动安装Git软件,Linux和Mac OS系统都自带Git
工具:
git --version
对Git进行初始化配置
# 定义当前系统git的使用者名称和邮箱,提交代码时显示的名字和邮箱 git config --global user.name "tangxiaoyang" git config --global user.email "1049901079@qq.com"
命令 | 做用 | 备注 |
---|---|---|
git init | 初始化本地Git仓库(项目) | 会在当前目录中建立一个.git目录,用于记录全部的版本变动信息 |
git status | 查看本地仓储的文件状态 | |
git add 文件路径 | 将文件添加到跟踪列表(暂存区),交由git托管 | -A 或 --all 或 . 表示添加全部文件,也能够使用*进行匹配 |
git commit | 将跟踪列表中的文件提交到本地仓库 | -m指定提交日志 |
git log | 查看提交日志 | |
git reset --hard 版本id | 回退到指定版本 | HEAD表示当前的版本 |
git reflog | 查看全部操做记录 | 包括被回退的版本id、reset操做等 |
注:全部命令都必须在Git仓库的根目录下执行
Git文件的四种状态:
untracked
未跟踪,表示文件不受git管理, 通常新建的文件处于该状态 Untracked files
staged
已暂存,表示已对修改的文件作了标记,使之包含在下次要提交的文件跟踪列表中 Changes to be committed
committed
已提交,表示文件已经被提交到本地仓库
modified
已修改,表示文件内容已被修改,但没有作标记 Changes not staged for commit
能够在git仓库的根目录下添加一个名为.gitignore
的文件,用于指定须要被git忽略的文件或文件夹
注意:
.gitignore
#
开头的行表示注释 基于Git的代码托管平台,经常使用的Git仓库:
步骤:
注册帐号、建立仓库
添加远程仓库的地址
git remote add origin https://gitee.com/tangyang8942/study.git
将本地仓库的提交记录推送到远程仓库的master分支git push origin master
git pull origin master
命令 | 做用 | 备注 |
---|---|---|
git remote add 仓库别名 远程仓库地址 | 添加远程仓库地址 | 仓库别名能够自定义,通常默认使用origin |
git remote -v | 查看远程仓库信息 | fetch抓取、push推送 |
git remote rm 名称 | 删除远程仓库地址 | |
git push 名称 分支 | 将本地仓库指定分支推送到远程仓库 | 通常为master主分支,默认推送到远程仓库的同名分支,没有则新建 |
git pull 名称 分支 | 拉取远程仓库指定分支中新的数据到本地 | 会与本地仓库进行merge合并(更新操做,非第一次) |
git clone 远程仓库地址 | 克隆远程仓库的项目到本地 | 用于从远端下载git项目(第一次) |
git clone和git pull区别:
分支就是版本上的更新迭代,默认只有master主分支
能够从主分支上分离出其余的分支,各分支间互不干扰
命令 | 做用 | 备注 |
---|---|---|
git branch | 显示全部分支 | 默认只有master分支 |
git branch 分支名 | 建立分支 | |
git checkout 分支名 | 切换分支 |
码云提供了免费的静态网页托管服务,能够托管我的的静态网页,称为码云Pages。
两种方式:
方式一:带二级目录,步骤:
建立一个仓库,仓库名称自定义
将本地的静态资源推送到远程仓库
必须提供index.html
页面,默认访问的就是该页面
选择pages服务
服务——>Gitee Pages——>选择部署分支master
访问生成的网站地址
方式2、不带二级目录
步骤:
配置Git
Setting——>Version Control——>Git——>指定git命令的执行路径——>点击Test
检出项目
VCS——>Checkout from Version Control——>Git——>指定远程仓库的URL和本地存放目录——>点击Clone
提交/推送项目
VCS——>Commit——>Commit and Push——>输入远程仓库的帐号和密码
VCS——>Git——>Push
解决冲突
当本地提交的内容和远程仓库的内容有冲突时须要手动解决,进行合并merge
红色:未加入版本控制 untracked
绿色:已加入控制,未提交 staged
白色,已加入控制,已提交,无改动 committed
蓝色:已加入控制,已提交,有改动 modified
灰色:版本控制已忽略文件
视频课程连接:Git快速入门视频课程 https://edu.51cto.com/sd/b2c67