GIT教程 — 详解本地库的使用以及原理(二)

详解本地库的使用以及原理(二)





我们在上一个博客详解本地库的使用以及原理(一)当中了解到,如何创建一个本地库,然后查看本地库的修改,以及有本地库的各个

版本之间的切换. 还有本地库的版本记录的原理. 接下来这个博客,我们来了解本地库的底层实现原理>>> 工作区和版本库

什么是工作区和暂存区呢????

工作区就是你电脑当中所有可以看到的任意一个目录,可以这样理解这些目录是属于你工作的所以你可以看到他们.它们都要被你一

使用. GIT的版本库:在一个工作区里面的会有.git的隐藏目录,这里就已经不属于工作区了,这里是git的版本库.这里就是保存你

需要 往git推送的内容. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动

建的 第一个分支master,以及指 向master的一个指针叫HEAD. 这里的HEAD指针我们已经见识过一点了,但是分支是非常重要的!

但是现 在我 们不关心! 我们关心的是暂存区....



上图其实就是我们从工作区将文件推送到git分支上的具体过程,现在我们应该理解到了为什么需要git add和git commit两步才能推

送成功了吧~ git add 将文件从工作区推送到暂存区.  git commit将所有的暂存区的内容推送到master. 因为我们创建Git版本库时,

Git自动为我们创建了唯一一个 master分支,所以,现在,git commit就是往master分支上提交更改。 你可以简单理解为,需要提交

文件修改通通放到暂存区,然后,一次性提交暂 存区的所有修改。 我们明白了这些,接下来理解更多git的操作会变简单。

所以当你修改一个文件之后,如果你没有git add. 你直接git commit是没有任何作用的. 记住你可以很多次git add 然后使用一次

git commit


git本地库的撤销修改



我们生活当中,不管是微信还是qq都有一个撤回的功能,原因就是我们发了一些不该发的东西,比如你跟你的基友发送一些不健康

的东西(微笑) 然后 你猛然发现发到女朋友的qq上面了,这时候趁女朋友没有发现赶紧撤回!!! 所以这个功能发明的就非常合情

合理. 那么GIT怎么会没有这些操作呢? 其实GIT也有类似的功能,就是防止你修改文件出错,然后非常后悔,再然后只需要一条

令就恢复如初. 接下来我们来认识一下:

$ git checkout -- file(这里是你的文件名)



这里我发现我的liang.txt里面出现了脏话,当然我可以里面回文件里面删掉,但是这里我要秀操作哈哈.我们可以看到这里一句

指令撤销了上一条内容 但是如果你不幸git add,把文件推送到暂存区了怎么办??  这里也不用担心~,看下面操作:




什么鬼...以前方法已经没有用了. 已经被添加到暂存区了怎么办.. 其实我们还有办法! 我可以使用指令把暂存区的文件回退

到工作区,然后再撤销内 容,接下来我来演示一下:



我们可以这里看到,使用git reset HEAD file 指令可以使得暂存区当中的内容回退到工作区!!! 来继续,这个时候你发现你

已经git commit 那么 这可怎么办! 上个博客当中的版本回退是干啥的?? 直接使用版本回退不就完了! 哪里来这么多话。

最后的最后,如果你把这个fuck you! 推送到远程库,推送到网上之后,那么你就自求多福吧.. 这个已经没有办法了......



git本地库的删除文件



我们刚刚了解到了,撤销功能. 现在我们继续学习,学习删除功能这时候有的人就开始疑惑了... 这删除功能有啥删的,这就是最简

单的rm 文件 就结束了. 不不不,当你单纯的删掉了一个文件,你使用git status指令时,他会告诉你版本库当中那个 文件被删

除了,所以你 还需要在版本库 当中删除掉这个文件,所以我演示一下~



这个时候liang.txt,就永远不会出现在你的版本库和你的工作区当中了. 当然如果你发现自己误删的时候,一定注意我们还可以

使用撤销功能.如果当你在库中删除文件并且git commit了,我们还可以解决.因为我们有时光机,可以回到过去~~  所以这里我

们可以看到git的强大之处.大概功能就这么多,还是希望大家好好努力.好好练习这个git的本地库的基本操作.  还有分支是非常

要的. 因为git其实最厉害的是与他人共享代码,大家一起合同协作,所以接下来分支和网上的远程库,以及和他人合作都是非

重要的.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值