Git本地相关操作(二)

之前的文章我们学习了git本地操作相关的命令:git initgit statusgit add <file>git commit (-m <describtion>)git diffgit log,具体可以通过链接查看GIt本地相关操作(一),接下来我们继续学习git本地操作相关的命令。

一.基于本地仓库进行修改

  1. git管理修改
    我们来进行如下图展示的操作:
    首先我们进入/opt/studygit目录下,对introduce.txt文件进行修改,具体命令

      root@quietor-virtual-machine:~# cd /opt/studygit/
      root@quietor-virtual-machine:/opt/studygit# pwd
      /opt/studygit
      root@quietor-virtual-machine:/opt/studygit# ll
      总用量 16
      drwxr-xr-x 3 root root 4096 8月  28 22:46 ./
      drwxr-xr-x 4 root root 4096 8月  28 00:44 ../
      drwxr-xr-x 8 root root 4096 8月  28 22:47 .git/
      -rw-r--r-- 1 root root  280 8月  28 22:46 introduce.txt

    修改introduce.txt文件的内容如图所示:
    图片描述

    修改introduce.txt文件以后,我们执行git statusgit diffgit add <file>,如图:
    图片描述

    我们继续对introduce.txt文件进行修改,重复上述步骤,修改:
    图片描述

    执行git statusgit diffgit add <file>命令,如图:
    图片描述图片描述

    现在我们执行git commit (-m <describtion>)命令,如图:
    图片描述
    我们会发现,最后一次编辑的内容并没有随着git commit 执行而提交到本地仓库中去


  2. 小结
    我们操作的大体流程是:修改--->git add-->再次修改---->git commit
    git commit命令,会只提交最近一次git add 命令提交的文件修改内容到本地仓库中,即使中间有多次修改,只以最后一次执行git add命令所提交的修改内容为准,本文中笔者使用的是同一个文件,不同文件也是如此。


  3. git文件存储结构
    git管理文件总共分为三块空间:工作区、本地版本库、缓冲区,远程仓库
    工作区:本地电脑的上的一个普通目录
    本地版本库:git在本地的一个管理文件的文件仓库
    缓冲区:git本地仓库的一部分,用于存储要提交到本地仓库的文件修改数据
    远程仓库:远端存储git管理的文件仓库,可以多个本地仓库进行连接,通过git pushgit pull与本地仓库进行文件同步
    具体关系如图:图片描述git add把文件添加到stage缓存区,git commit把缓存的数据再提交到当前使用到的分支,图中dev和远程仓库我们在后续的学习中涉及到,这张图大家先了解下(图是具体自己实际操作和网上大家分享的,自己总结的,如果有理解错误的,请大家及时指出),通过了解git文件管理结构,我们能区分git addgit commit命令的各自的作用,以及理解git commit会只提交最后一次git add命令提交的文件改动到本地仓库的原因。


  4. git删除文件
    创建一个格式文件,并提交到git仓库中,如图:图片描述

    从git上删除一个文件:

    第一步,删除本地文件 rm <file>

    第二步,删除git上文件 git rm <file>
    第三步,提交更改图片描述上面的操作我们会发现,没有执行“git add”,笔者的理解是提交stage区的操作应该不只有“git add”,“ git rm ”操作应该也是提交stage区的操作,至于还有没有其他操作,笔者限于时间没有去详细了解,后续有机会会单独总结,也请大家有了解的,可以分享出来。


二.基于本地仓库进行撤销

  1. 本地文件撤销(修改文件内容未执行git add命令)

    使用“git checkout -- <file>”来撤销相关的修改,如图:图片描述

  2. 暂存区进行撤销(已经执行了git add命令)
    第一步:执行“git reset HEAD <file>”命令,来撤销移交到暂存区的数据
    第二步:执行“git checkout -- <file>”撤销本地文件的相关修改,
    如图:图片描述

  3. 删除文件撤销
    只删除本地文件(没有执行git rm <file>),应该很简单也是执行“git checkout -- <file>
    图片描述
    删除文件提交到stage区(执行了git rm <file>),撤销
    图片描述


三.总结

  1. 新的git命令
    git rm <file>
    git checkout -- <file>
    git reset HEAD <file>

  2. git本地管理文件空间的方式
    理解git管理文件的方式,这样能帮助我们理解git命令



    上一节:GIt本地相关操作(一) 下一节:Git连接远端仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值