1.什么是git?(软件--需要安装和下载)
Git
是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性!
大白话:是一种程序员版本控制软件,专门用来多人开发协作,共同维护项目。
2.版本控制系统的分类
(1)本地版本控制系统
(2)集中化的版本控制系统 (SVN)
传统的版本控制系统(例如 SVN
)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异
好处:节省磁盘空间
缺点:耗时、效率低
在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件
(3)分布式版本控制系统 (GIT)
Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。
为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
缺点:占用磁盘空间较大
优点: 版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
特点: 空间换时间
近乎所有操作都是本地执行
在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息
特性:
① 断网后依旧可以在本地对项目进行版本管理
② 联网后,把本地修改的记录同步到云端服务器即可
3.git的特性
① 直接记录快照(完整备份),而非差异比较
② 近乎所有操作都是本地执行
接下来就是实操:
1.怎么检测安装完成?git没有快捷方式,安装完成之后,右击会出现两个图标,就表示安装完成了
两个图标是:git bash here (平时用它打开) git gui here (平时不用)
2.安装完成的第一件事: (右击点开git bash here )
配置用户名和邮箱(只配置一次就可以了,永久生效)
(1)怎么配置呢?
在终端输入两句代码:
git config -- global user.name 'zhangsan' ----------设置用户名
git config -- global user.email 'zhangsan@qq.com' -----------设置邮箱
(2)怎么检测配置是否完成?
方式1:通过配置文件 C:/user/用户名文件夹/.gitconfig
方式2:通过命令查看
1)查看所有的配置 git cinfig --list
2)查看全局配置项 git config --list --global
3.安装配置完成之后可以去学习git的工作原理了
基本概念:(重点品)
1.三个区域及工作流程
(1)工作区(可以看见)(程序员主要操作文件的地方) <第一步>
新建文件,删除文件,修改文件,对文件进行重命名
(2)暂存区(看不见) 新建或修改好的文件临时存放的地方,等待被提交到git仓库<第二步>
(3)git仓库(看不见) 把暂存区内容,提交到仓库(文件最终的位置)(每提交一次,形成一个新的版本) <第三步>
2.工作区的文件状态(使用git status 来查看文件的状态) ---先了解,之后通过实操来理解
文件的状态一共有四种:
未跟踪----untracked 没有被git所管理
已暂存----已经被管理 (在暂存区)
未修改----已经被管理 (工作区和git仓库中的文件一致)
已修改----已经被管理 (工作区的文件被修改了,git仓库里面还是未修改之前的)
文件状态很重要,只有根据文件的此时的状态才知道下一步要做什么?
学完后面看这个会比较清楚
未跟踪所以要 git add . 已暂存所以要git commit -m '提交提示信息' (提交到git仓库)
已修改之后 操作依旧是 先去暂存区 再去git仓库
3.常用操作命令
接下来会从本地仓库和远程仓库来进行学习怎么操作。
本地仓库:自己的电脑创建的仓库就是本地仓库
远程仓库:在工作中,多人开发项目,肯定不是在自己电脑上操作,这时候就会有一个远程仓库,管理着存储着所有项目成员的代码。
接下来先了解在自己的电脑上,怎么去创建本地仓库?
(1)本地仓库操作命令
1)获取仓库(初始化仓库)
2)git管理文件
3)反悔操作
4)查看帮助信息
在你的项目文件夹的根目录下,右击打开 git bash here ,开始了。。。
1)获取仓库(管理项目文件夹 下文有解释什么是项目文件夹)
git init 初始化了本地仓库
或者直接通过git clone 远程仓库的代码地址 (上班之后克隆代码就这么做)
2)git管理文件
【1】查看文件状态 git status / git status -s
【2】添加到暂存区 git add 文件名 / git add . (全部)--一次性把多个文件添加到暂存区
【3】提交到仓库 git commit -m '备注信息' (必须写备注信息)
【4】跳过暂存区,直接提交到仓库 git commit -a -m '备注信息' (注意:新建的文件不行)
【5】忽略工作区的文件(场景:有些文件不需要上传到git仓库,只需要自己看)
step1:在根目录,创建 .gitignore文件
step2:在文件中写忽略规则 哪个文件不想上传 就写到此文件中(有些会用到正则)
3)反悔操作
【1】撤销对文件内容的修改(文件在工作区,不在暂存区和git仓库)
场景:九点开始写代码,11点写了一个功能,经理突然说不需要了。那就得恢复到9点的代码。当然不是CTRL+Z了
输入如下命令: git checkout -- index.html (文件名)
【2】取消已暂存的文件(在暂存区,要恢复到工作区)
输入如下命令:git reset HEAD 文件名 / git reset HEAD . (全部)
【3】移除仓库中的文件 (有两种)
(1)同时移除工作区和仓库中的文件 git rm -f 文件名
(2)只移除仓库中的文件,保留工作区的文件 git rm --cache 文件名
注意:删除完成后,要做一次提交操作
【4】版本的回退 (有时候需要查看以前的版本,随意切换)(每commit一次,都有一个版本进行了创建)
step1: 查看版本 git log / git log 2 (最近两条) / git reflog
step2:切换版本 选择要切换到的某个版本 git reset -- hard 版本号(唯一标识)
4)查看命令的帮助信息,git help 命令 / git 命令 -h 如:git config -h
现在为止,都是比较基础的操作,接下来就是建立远程仓库。 重点内容来喽!下一篇来学习
1.本地仓库和远程仓库的一些操作
2.本地仓库和远程仓库的分支操作
3.多人协同上传文件到远程仓库会遇到的问题
另外补充以下:
使用git status 查看状态
红色代表的可能是:未跟踪或者已修改
绿色代表的可能是:暂存区或者未修改
概念:项目文件夹 :存在了项目所有的的所有内容
项目的根目录 : 打开项目文件夹的第一个目录