定义: Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
1.Git工作流程
- 克隆 Git 资源作为工作目录。
- 在克隆的资源上添加或修改文件。
- 如果其他人修改了,你可以更新资源。
- 在提交前查看修改。
- 提交修改。
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交
2.Git 工作区、暂存区和版本库
2.1 基本概念
工作区:这是电脑能看见的目录
暂存区:一般存放在.git文件夹里
仓库区:工作区隐藏的目录.git,这个不是工作区是仓库
3.Git创建仓库
3.1 git init
Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。
在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
使用方法:
使用当前目录作为 Git 仓库,只需在命令行输入git init
3.2 git clone
使用 git clone 从现有 Git 仓库中拷贝项目
使用方法:
使用当前目录作为 Git 仓库,只需在命令行输入git clone 仓库
4.常用命令
命令 | 说明 |
---|---|
git add | 添加文件到暂存区 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git commit | 提交暂存区到本地仓库。 |
git reset | 回退版本。 |
4.3 git add
添加指定文件
添加所有文件
4.2 git status
4.3 git commit
4.4 git reset
有几个^就会退几个版本
回退到指定版本号
5. 文件忽略
介绍
对于无需使用git进行管理的文件或文件夹使用此文件进行配置
使用步骤:
(1)在.git的同级目录下创建 .gitignore文件,注意:前面有一个
(2)在文件中添加要忽略的文件名称或文件夹名称
常用配置规则:
(1) /git-demo1/ 过滤整个文件夹
(2) *.txt 过滤所有.txt文件
(3) /git-demo1/a.html 过滤某个具体文件
6. 分支
工作场景:QQ软件v12.0.0 v13.0.0,如果同时维护v12.0.0和v13.0.0版本呢?
了解分支:
介绍
git版本控制系统支持分支操作。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。默认只有一个分支为master主分支。
什么是主分支?
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支
主分支的问题
在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发
分支解决问题:
master用来保存和记录整个项目已完成的功能代码。但是不允许程序员直接在master 分支上修改代码,这样做的风险太高,容易导致整个项目崩溃。
创建分支
branch
语法:git branch
作用:查看已有分支列表
branch 分支名
语法:git branch 分支名
作用:创建一个指定名称的分支
checkout
语法:git checkout 分支名
作用:切换不同的分支
merge
语法:git merge 分支名
作用:将指定名称的分支合并到当前分支
解决冲突
介绍:如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法合并它们。 我们需要打开这些包含冲突的文件然后手动解决冲突。
7.远程仓库
介绍
Git 命令都是在本地执行,如果想通过 Git 分享你的代码或者与其他开发人员合作。就需要将文件放到一台其他开发人员能够连接的服务器上。这就是远程仓库的作用。
远程仓库分类:
(1)github:github是一个基于git的代码托管平台,在国外,速度比较慢,在大陆的使用很受影响
(2)gitee:gitee是一个基于git的代码托管平台,国内使用频率较多
(3)公司自己部署,了解即可,强调不是前端人员部署的,使用步骤和命令都一样
操作流程:
注册
创建远程仓库
本地文件推送到远程仓库
克隆和同步远程仓库
remote add 把远程仓库地址添加到本地。使本地仓库和远程仓库产生关联
remote -v 查看远程地址信息
push 1、如果使用-u参数,则第2次及以后可以直接使用git push把本地推送到远程仓库
2、添加gitee的账号和密码,正确则正常推送
clone 拷贝一个远程仓库到本地。
pull 当本地已有远程仓库,而远程仓库如果已经有更新,则可以使用此命令更新本地仓库。
注意:
1.在使用pull命令从远程服务器拉去项目内容时,要保证本地仓库的版本低于远程服务器
2.运行 git pull 通常会从远程服务器上抓取数据并自动尝试合并到当前所在的分支。
8. SSH访问
简介:传统方式访问远程仓库的问题:传统方式本地和远程传输,需重复输入gitee的账号和密码,较为繁琐。SSH好处:免登录身份认证、数据加密传输。而SSH实现本地仓库和gitee之间免登录的加密数据传输。更重要的原因是团队协同开发更加方便。
SSH组成: (1)id_rsa 私钥文件,存放于开发者的电脑中 (2)id_rsa.pub 公钥文件 。
生成密钥步骤:1、打开Git Bash 2、执行相关命令 3、连续敲击3 次回车
ssh -T git@gitee.com
检测Github 的SSH key 是否配置成功。图示:6-15检查SSH是否配置成功