关闭

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

标签: git本地库的操作GIT教程
828人阅读 评论(0) 收藏 举报
分类:

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





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

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

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

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

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
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

GIT使用教程与基本原理

这个教程之前是发在社区网站上,现在把它转到自己博客上:) http://oss.lzu.edu.cn/artical.php?id=16 说明:该教程全部图片都来自于《pro git》。以下所有的操作,除非特别声明,都是基于Linux终端来进行的。如果你发现这篇文章有错误,或者其他...
  • wengpingbo
  • wengpingbo
  • 2013-05-28 15:51
  • 59775

git学习二:git初级使用教程

对初学者,首先要了解下git基本操作:如创建自己git并把本地代码上传至github上,git初识化配置。
  • u014079773
  • u014079773
  • 2015-11-01 08:47
  • 3394

Git使用教程图文详解

安装设置Git 1.msysgit是 Windows版的Git  点击下载   安装完成后,点击开始菜单—》Git文件夹—》Git Bash  打开后 会出现下面的命令行窗体, 证明你安装成功了。 2. 设置你的名字与Email,你的名字与Email会...
  • dl425134845
  • dl425134845
  • 2016-03-28 13:53
  • 3265

Git使用详细教程

一:Git是什么?   Git是目前世界上最先进的分布式版本控制系统。   二:SVN与Git的最主要的区别?   SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完...
  • Free_Wind22
  • Free_Wind22
  • 2016-03-23 23:20
  • 66510

Git简易教程,快速上手-Mac版

首先,我们需要一个本地仓库,用来连接到git并提交代码注:Xcode7.0之前的版本需要自行安装git,Xcode7.0之后默认已经安装 1.创建一个文件夹用作本地仓库,比如我先在桌面上创建一个文件夹并命名为”测试”然后打开Mac电脑的终端,进入到这个文件夹,输入cd 空格一次后 将文件夹拽入终端生...
  • qq_32531823
  • qq_32531823
  • 2016-11-21 15:23
  • 1389

Git详细使用教程

Git使用教程Git是什么Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布...
  • tgbus18990140382
  • tgbus18990140382
  • 2016-10-21 20:17
  • 2626

Git使用教程 Windows使用Git全攻略

在Windows上安装、使用Git全面教程。
  • jshguoxin
  • jshguoxin
  • 2017-01-10 12:49
  • 621

Git图文教程及详解

Git 超详细教程 一篇文章学会Git
  • zhcswlp0625
  • zhcswlp0625
  • 2017-01-12 19:35
  • 4710

Git详解之九 Git内部原理

本文转自:《Git详解之九 Git内部原理》 Git 内部原理 不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些...
  • yeruby
  • yeruby
  • 2014-08-16 12:26
  • 1245

GitHub 使用教程图文详解

一、前言在前面的文章中我们讲解了 Git 服务器的搭建、Git 本地仓库讲解、Git 远程仓库讲解、Git 分支管理、Git 标签管理,在Git 服务器搭建中我们说过一是找台服务器自己搭建Git服务器,搭建方法也很简单前面的文章有介绍,不清楚的博友可以查看一下,还有一种不需要自己搭建Git服务器,便...
  • u011225629
  • u011225629
  • 2016-01-11 09:56
  • 10981
    个人资料
    • 访问:89348次
    • 积分:2709
    • 等级:
    • 排名:第15582名
    • 原创:160篇
    • 转载:17篇
    • 译文:0篇
    • 评论:168条
    最新评论