git的安装我是从网上查的,当然廖大的教程里面也有详细的介绍。安装完git之后,不要忘记配置名字和邮箱,你可以给你机器上所有的仓库进行一致的配置,也可以对某个仓库进行单独配置。我的配置如下:
git config --global user.name "Mcrea"
git config --global user.email "704023655@qq.com"
之后,我们就可以进行下一步了。

首先,我们需要创建一个版本库repository,在这个repository中,git管理着所有的文件的过去和将来。创建的过程很简单,只要在一个提前准备好的空目录下输入git init命令即可。版本库建好之后,我们之后对文件的操作都在这个版本库中进行。不过因为git只能跟踪纯文本文件的改动,所以廖大建议使用Notepad++来编辑和修改文件,为避免字符编码可能带来的麻烦,使用UTF-8编码。

添加和提交

有了版本库之后呢,我们可以编写一个文件,随意在里面写点什么代码。然后使用git add file将文件添加到版本库的暂存区中,当然你可以重复这个命令添加任意个文件。之后呢使用git commit -m "some notes"一次性将暂存区所有的文件提交到当前分支。这里的暂存区和当前分支的意思之后会进行讲解。
git status命令可以用来查看版本库中文件的状态。什么状态呢?一个文件从编辑到提交到当前分支需要经过两步,即git add和git commit。在执行这两步前后,文件会有三个状态:一编辑or修改未添加,二添加未提交和三已提交。使用git status命令查看的就是每个文件在这三个状态的哪一个。特别的,如果文件在状态一中,我们可以通过git diff来查看文件中修改的详情。确保无误后进行添加和提交的操作。
版本回退
类似于我们小时候玩过的存储卡游戏,比如重装机兵(认真脸)。我们通过存储按钮来存储游戏的进度。这样当我们剎羽而归的时候,我们可以主动或者被动的读取某个记忆点的进度。从而可以保证我们仍然拥有一个较高的开局而不是前功尽弃从头开始。git也有类似存储记忆点的功能,它的记忆点叫做快照,也就是commit。当我们误操作之后,我们可以从快照中读取文件从新来过。而不是变得一无所有。
如果很不幸的进行了误操作,别慌。首先使用git log命令来查看提交日志。它会展示出每次提交的commit id(版本号,十六进制)姓名和邮箱、日期和备注。可以在git log命令后加上 --pretty=oneline参数让它只显示版本号和备注。
然后重点来了,该如何回退到心仪的版本呢?首先来了解一个单词HEAD。在这里这个单词代表当前版本,它实际上是一个指针,永远指向当前版本。(后面有一个指向当前分支的指针,也叫HEAD)回退版本的命令是git reset,参数就是版本号,当然也可以用HEAD^ or HEAD~100,表示往上一个版本或者100个版本。假如,只是假如,你回退之后又不想回退了该怎么办呢?只要你能找到未来那个版本的版本号。一样可以用git reset回到未来。说到底,这个命令并没有历史和未来的感觉,它只是将HEAD指针指向了你想要的版本,这样你想要的版本就成了当前的版本。最后说一下git reflog这个命令,它可以记录你的每一次关乎版本的命令,其中就包括了git commit命令。在其中你可以找到该次git commit命令的commit id。bingo~总结一下,勤commit就不愁误操作了。随时reset。
工作区和暂存区
工作区:按照廖大的意思,我理解是repository中可见的部分。
版本库:同样按照廖大的意思,我的理解是repository中不可见的部分。
显然,工作区存放着文件,供我们编辑、修改等等。而版本库则存放着很多东西,其中包括接下来要讲到的stage暂存区和master分支以及指向master分支的HEAD指针。
还记得之前的git add 和 git commit命令吗?所谓将文件修改添加到仓库,实质就是将文件修改添加至暂存区。而git commit就是将暂存区的文件修改提交到当前分支上去。提交完成后,暂存区清空。此时查看git status,显示working directory clean。

廖雪峰老师git教程笔记(1)相关推荐

  1. 廖雪峰老师git学习笔记(2)

    管理修改 作为一个版本控制系统,git管理的是文件的修改,而非文件.什么意思呢?目前我们所接触的所有的命令中,git add也好,git commit也好.它们执行的对象都是文件的修改,当然文件的修改 ...

  2. 廖雪峰老师Git教程代码梳理

    建立版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录(repository): $ mkdir learngit //创建learngit目录 $ cd learngit // ...

  3. 廖雪峰的GIT教程-读书笔记

    文章目录 廖雪峰的GIT教程 什么是GIT 集中式vs分布式版本控制系统 分支管理 创建版本库 GIT的版本回退 工作区和暂存区 工作区(Working Directory) 版本库(Reposito ...

  4. 廖雪峰老师Python教程读后笔记

    廖老师网站:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 花几天时间看了廖老师的 ...

  5. 学习廖雪峰的git教程6--版本控制

    1git log 查看提交的版本 2git reset --hard HEAD^回退到上一个版本 3git reset --hard 版本号 回到某一个版本 转载于:https://www.cnblo ...

  6. 廖雪峰python3爬虫教程_Scrapy爬虫框架入门教程(1)——爬取廖雪峰老师的博客...

    最近一直在学习scrapy,但是网上关于scrapy的教程实在是太少,能找到的教程大多都是基于py2.7/scrapy0.2以下,甚至很多教程都是互相抄袭,连代码都抄漏了好多,更别提各种缩进错误.变量 ...

  7. git入门(廖雪峰老师)

    根据廖雪峰老师的git教程进行学习总结: 1.之前上班用的都是svn进行管理,那么svn和git有什么区别呢? svn是集中式的版本控制系统,而git是分布式版本控制系统,那么集中式和分布式版本控制系 ...

  8. python爬虫教程-Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门!

    原标题:Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门! Python简直就是万能的,你用Python都做过哪些事? 用网页看各大网站的VIP视频,用python下载? 用Pytho ...

  9. python入门教程廖雪峰-Python 入门1 浅读廖雪峰老师的网站入门教程

    Photo by Julia 距离上次写学习笔记已经过去近三周了,五月玩的有点过于high了,加上陪胖哥慢慢步入细胞的殿堂也用去了较多时间.不管怎么说,自己立下的flag倒了也要马上扶起来,一切都不是 ...

最新文章

  1. 动态增删表格行(纯JS写法)
  2. MyClouds-V1.0 发布,微服务治理及快速开发平台
  3. 精读《手写 SQL 编译器 - 错误提示》
  4. java中保留两位小数(四舍五入后)
  5. MyEclipse配置Tomcat 6
  6. 启动efi_efi启动模式对比bios启动模式有哪些优势【详细介绍】
  7. leaflet自定标签json_Windows Terminal更新后,自定义配置失效?快捷键无法使用?
  8. SQL 2012 镜像 图解(解决1418)
  9. 美国Compuware败退中国市场!又一家外企逃离
  10. 如何设计实时数据平台(技术篇)
  11. iso22000食品安全管理体系_ISO22000-食品安全管理体系认证
  12. PDF中加入HTML,将PDF导入/嵌入到HTML中(For PDF)
  13. 数据库范式(第一范式 第二范式 第三范式 BCNF范式)
  14. VS Code久坐提醒插件,996防猝死[捂脸]
  15. Android基于百度OCR识别图片中的文字
  16. Tic Tac Toe
  17. 301. 删除无效的括号【我亦无他唯手熟尔】
  18. 马云被约谈 传递了什么信号?
  19. python画羊_python编程羊车门问题代码示例
  20. c语言 谭浩强第五版第五章习题第17题 乒乓球比赛

热门文章

  1. verilog写寄存器
  2. 解决Github网页加载不出来的问题
  3. 时代拓灵变声器SDK集成调试过程
  4. 六角形python代码_python六角形
  5. [技术评论]龙芯电脑 1
  6. jmeter代理录制APP
  7. 2021性价比高的移动电源推荐,移动电源性价比排行榜
  8. 小米8SE 线刷兼救砖_解账户锁_纯净刷机包_教程
  9. python 批量给图片加水印
  10. 宗宁:云在指尖被定性为传销,三级分销们怕了么?