Git(1)概述和工作机制,安装和常用命令

概述

Git :分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

  • 分布式版本控制工具:像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份
    解决了集中式版本控制系统的缺陷:

    • 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
    • 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
    • 概念图如下图:图中少画了一个远程库
      在这里插入图片描述
  • 集中式版本控制工具:集中化的版本控制系统诸如 CVS、SVN 等

    都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

    • 优点:
    1. 每个人都可以在一定程度上看到项目中的其他人正在做些什么
    2. 管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易
    • 缺点
    1. 缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作
    • 图解:如下图,一个公司里面有多个客户端,多个程序员想要开发同一套代码,这个代码统一放到一个中央服务器里面,任何一个想要去修改这一套代码,都需要到中央服务器中去修改同一套代码
      在这里插入图片描述

工作机制

在这里插入图片描述

说明:

  1. 工作区:代码存放的磁盘的目录位置

  2. 暂存区:工作区写的代码添加到暂存区,暂存区是没有历史代码的,可以理解为还是可以删除的

  3. 本地库:暂存区代码提交到本地库,就可以生成对应的历史版本,可以理解为这时候便不能删除了

  4. 远程库:通过push将代码推送到远程库中

代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
有以下分类:

  1. 局域网:GitLab
  2. 互联网: GitHub(外网)、 Gitee 码云(国内网站)

window安装

安装还是比较简单的,一直下一步就可以了(使用它默认的配置就可以了),就是在选择安装目录的时候注意要安装在没有中文目录里面
安装成功,在文件夹里面右键会出现下面的两个Git选项
在这里插入图片描述

Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m "日志信息" 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭

设置用户签名

在这里插入图片描述
查看是否设置成功:打开当前电脑的C:\Users目录,选择设置时的用户的目录,在这个目录下会看见一个.gitconfig配置文件 ,如下图
在这里插入图片描述
打开这个文件,会看见如下内容:
在这里插入图片描述
这样就证明是配置好了的

注意:Git 首次安装必须设置一下用户签名,否则无法提交代码

签名的作用是区分不同操作者身份

注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

初始化本地库

在这里插入图片描述
本地目录发生了下面多了一个.git目录,如下:
在这里插入图片描述

查看本地库状态

在这里插入图片描述
如果新建一个文件,如下图所示
在这里插入图片描述
enter后,输入下面内容,保存退出
在这里插入图片描述
在这里插入图片描述
重新查看状态
在这里插入图片描述

添加暂存区

语法:

git add 文件名

将工作区的文件添加到暂存区:
在这里插入图片描述
查看本地库的状态,现在存到暂存区里面了
在这里插入图片描述

删除暂存区的文件

语法:

git rm  --cached 文件名

在这里插入图片描述
查看状态:现在只是暂存区里面的删除了,工作区里面的还是没有删除的
在这里插入图片描述

提交本地库

将暂存区的文件提交到本地库,
语法:

git commit -m "日志信息" 文件名

在这里插入图片描述
查看本地库
在这里插入图片描述

查看版本信息

在这里插入图片描述

查看详细日志

在这里插入图片描述

修改文件(模拟版本迭代)

通过vim修改文件后,查看状态
在这里插入图片描述
提示信息提示了文件被修改了,红色的字体说明了这次修改的内容还没有上传到暂存区
在这里插入图片描述
再次提交本地库,提示新增了两行(我在vim时候新增了两行信息)
在这里插入图片描述
重复之前的操作,查看日志等
在这里插入图片描述

在这里插入图片描述

版本穿梭(更换版本)

基本语法

git reset --hard 版本号

查看版本信息
在这里插入图片描述
查看详细信息
在这里插入图片描述
查看当前版本的txt文件信息
在这里插入图片描述

进行版本跟换
在这里插入图片描述
查看现在txt文件内容(变回了第一次的文件内容)
在这里插入图片描述

版本切换的原理

按下面的目录进行操作,可以发现下面的信息,说明当前是在master这个分支上
在这里插入图片描述
查看当前分支是哪个版本的,按下面的操作,说明是第一个版本
在这里插入图片描述
综上所述,Git 切换版本,底层其实是移动的 HEAD 指针:head------>master--------->first

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

?abc!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值