你好! Git——git版本管理

一、修改文件

Git 跟踪并管理的是修改,不是文件。
什么是修改?
新增、删除、一行,或者更改某个字符,或者创建一个新文件,都是叫修改。

  1. 查看在你上次提交之后是否有对⽂件进⾏再次修改:
git status

在这里插入图片描述

1.先查看文件是否有修改信息,发现工作区,暂存区、版本库没有任何修改信息。
2.vim file1,我们修改file1,再次查看文件是否被修改,发现会显示file1文件被修改,但是还没有进行添加和提交操作

  1. 显示文件工作区和暂存区的区别
git biff file1

在这里插入图片描述

a是文件改动前,b是文件改动后。
-1 +1,2:-表示文件改动前,1表示第一行内容,+表示文件改动后,1,2表示改动后,从第一行开始,连续两行的内容。

  1. 查看改变文件后,暂存区和版本库的变化。
    在这里插入图片描述

git add file1,查看修改信息,上面显示需要我们提交暂存区的信息
git commit -m “add file1”,我们把信息提交到版本库,可以查看到工作区、暂存区里没有文件需要提交。

二、版本回退

Git 能够管理⽂件的历史版本,这是版本控制器重要的能⼒。版本回退本质是回退到版本库中的内容

  1. 版本回退命令
git reset

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

1.第一个版本我们提交了4个文件,第二个版本我们提交了3个文件
2.git log我们可以查看日志,也可以看到commit id(我们通过commit id来回退版本)
3.通过git reset --hard commitid 我们可以回退版本,当前文件已经回退到第一个版本,也就是,我们在工作区只能看到4个文件(–hard 表示工作区、暂存区、版本库都回退版本)

  1. 版本回退到多个版本之前
git reset命令语法格式为:git reset [--soft | --mixed | --hard] [HEAD]

HEAD说明:

  1. 可直接写成commit id,表示指定退回的版本
    HEAD 表⽰当前版本
    HEAD^ 上⼀个版本
    HEAD^^ 上上⼀个版本
    以此类推…
  2. 可以使⽤ 〜数字表示
    HEAD~0 表⽰当前版本
    HEAD~1 上⼀ 个版本
    HEAD^2 上上⼀ 个版本
    以此类推…
  1. commit id不见了,应该怎么补救?

如果git log不能打印出想要的commit id,那么commit id就被我们搞丢了,我们需要用到git reflog命令进行补救,该命名用来记录本地每一次的提交记录。

  1. 版本回退的原理

Git 的版本回退速度⾮常快,因为Git 在内部有个指向当前分⽀ (此处是master) 的HEAD指针,refs/heads/master⽂件⾥保存当前master分支里最新的commit id。
在这里插入图片描述

三、撤销修改

我们以图的方式观察撤销修改不同的区域:
在这里插入图片描述

如图:针对不同区域,有不同的解决方案

四、删除文件

  1. 创建并提交文件
    在这里插入图片描述

1.查看工作区的文件,我们只有两个文件
2.创建一个文件,我们工作区就有三个文件
3.git add .表示把修改的文件添加到缓冲区
4.git commit -m "add 1 file"表示,文件修改的信息已经添加到版本库了
5.git status查看在你上次提交之后是否有对⽂件进⾏再次修改

  1. 如何删除文件
    在这里插入图片描述
  1. rm -rf file1 file2表示删除两个文件,这里表示工作区两个文件被删除
    2.工作区文件被删除,暂存区和版本库是不知道得;git add .表示,把当前工作区的修改信息提交给暂存区
    3.git status 表示,暂存区信息被修改,可以看到两个文件被删除。
    4.更新完暂存区,我们也要更新版本库,执行git commit -m "delete 2 file"指令,系统会提示更新的内容。
    5.git status 查看在你上次提交之后是否有对⽂件进⾏再次修改,发现我们没有进行任何修改(因为我们刚刚提交了文件的修改信息,如果没别的其他操作,肯定没有进行任何修改)。
  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值