1.Git基本使用学习(图文)

1.版本管理演变

没出来git之前

1.1集中式VCS

在这里插入图片描述

1.2分布式VCS

分布式VCS

Git特点

git特点

2.1产品

产品
很多公司基于GitLab做CI/CD 做二次开发

3.Git安装

这里我用centos演示

https://editor.csdn.net/md/?articleId=105419255

3.1最小配置

查看配置

git config --list

配置user.name 和 user.email
这是最小配置 为了记录版本变更历史(谁修改的)

git config --global user.name 'xxxx'
git config --global user.email 'xxxemail_addr'

3.2其他配置

作用域
演示

4.创建Git仓库

创建仓库
配置1

5.Git工作区和暂存区

git add xxx 暂存区管理
git commit -m 'xxx' 本地仓库管理
git commit -am 'xxx' 直接提交到本地仓库
流程

5.1实操

实操1
实操2在这里插入图片描述
commit am

6.重命名文件问题

我将A.txt文件重命名为B.txt
重命名
我们发现 我手动改名字 然后提交变更 git就是认为我改名字
所以为了不麻烦,git一条命令就ok了.
git mv xx ss
在这里插入图片描述

7.查看版本历史

上面已经用到了
git log
为了演示 我基于某个版本创建了一个temp分支
在这里插入图片描述
log命令
在这里插入图片描述
如果想看更多log的命令
并且你安装了浏览器可以这样,
git help --web log
因为我这里是centos上的git,这个没法演示,我换一个windows的
在这里插入图片描述
可以看到它打开了你git安装目录里面的一个文本
这里就有关于log的相关操作

7.1gitk

在图像界面gitk

gitk

在这里插入图片描述
这个图形界面里面由很多丰富的功能 自行研究

8 .git文件夹

git的核心内容
结构

[root@sixmillions .git]# tree
.
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── fsmonitor-watchman.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── pre-merge-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   ├── pre-receive.sample
│   └── update.sample
├── index
├── info
│   └── exclude
├── logs
│   ├── HEAD
│   └── refs
│       └── heads
│           ├── master
│           └── temp
├── objects
│   ├── 00
│   │   └── 847fb3338afbd404d63f574cfe2b5a6e5a52bf
│   ├── 12
│   │   └── 32d067447d8c6b0d74f79b4c5a1f6da61bfecd
.
.
.
.
│   ├── ee
│   │   └── 1451acbb6f262db74f5e5622011ec1721b0691
│   ├── info
│   └── pack
└── refs
    ├── heads
    │   ├── master
    │   └── temp
    └── tags


8.1 HEAD文件

控制当前在哪个分支
在这里插入图片描述

8.2config文件

一些配置,例如我们的用户名字和邮箱
我们修改这个文件的localname后,就变了
在这里插入图片描述

8.3tag文件夹

存放了版本的标签,就是版本号之列的意思

8.4heads文件夹

存放的是分支信息
就是分支指向的是哪个版本
在这里插入图片描述

8.5object文件夹

存放了每个版本的内容

9.三个核心存储对象

git存储的三个概念
commit tree blob
一个commit对应一个tree,
一个tree,有很多blob(可以理解为叶子)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值