大家好,我是痞子衡,是正经搞技术的痞子。本系列痞子衡给大家讲的是Git命令汇编,共12篇文章,循序渐进地介绍Git操作的完整过程。

  在开始Git课程之前,需要先跟大家普及2个重要概念(四度空间、四种状态),后续课程都是围绕这两个重要概念展开的。

四度空间

  第一个重要概念是Git的四度空间。在Git仓库目录下的文件改动(增删改操作)共有如下4个空间来记录/存储,Git命令就是用于将文件改动切换到不同的空间来记录。

  • Workspace:工作区
  • Index / Stage / Cached:暂存区
  • Repository:本地仓库
  • Remote:远程仓库

  如果你只是Git的轻度用户,原则上只需要记住如下图所示的7个Git命令就可以了。这7个命令可以帮你将文件改动记录到任意Git空间。

四种状态

  前面讲了Git有四度空间,而单就文件改动状态层面而言,Git空间内的文件也有4种状态(需要注意的是文件状态并不是与Git空间一一对应的),这是Git第二个重要概念。

  • Untracked:新增的文件的状态,未受Git管理,记录在工作区
  • Modified:受Git管理过的文件的改动状态(包括改动内容、删除文件),记录在工作区
  • Staged:将记录在工作区的文件变动状态通知了Git,记录在暂存区
  • Unmodified:受Git管理中的文件状态(没有变动),记录在本地仓库/远程仓库

正文篇(持续更新中...7/12)

  知道了2个Git重要概念,我们便可以开始Git的命令学习,痞子衡课程使用的Git版本是2.16.2,共十二节课,Enjoy it!

第一本Git命令教程(1)- 准备(init/config/gitignore)
第一本Git命令教程(2)- 连接(remote/clone)
第一本Git命令教程(3)- 变动(status/diff)
第一本Git命令教程(4)- 转移(add/rm/mv)
第一本Git命令教程(5)- 提交(commit/format-patch/am)
第一本Git命令教程(6)- 日志(log/reflog/gitk)
第一本Git命令教程(7.1)- 清理之缓存(stash)

第一本Git命令教程(7.2)- 清理之清除(clean)
第一本Git命令教程(7.3)- 清理之复位(reset)
第一本Git命令教程(7.4)- 清理之撤销(revert)
第一本Git命令教程(8)- 分支(branch/checkout)
第一本Git命令教程(9)- 更新(pull/fetch)
第一本Git命令教程(10)- 整合(cherry-pick/merge/rebase)
第一本Git命令教程(11)- 推送(push)
第一本Git命令教程(12)- 发布(tag/archive)

痞子衡嵌入式:第一本Git命令教程(0)- 索引的更多相关文章

  1. 痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之缓存(stash)

    今天是Git系列课程第七课,上一课我们学会了查看Git本地历史提交,今天痞子衡要讲的是Git仓库的清理操作,一共4个命令,都是日常开发中非常实用的命令,掌握这4个命令,会让你有一种玩弄Git仓库于股掌 ...

  2. 痞子衡嵌入式:第一本Git命令教程(1)- 准备(init/config/.gitignore)

    今天是Git系列课程第一课,痞子衡给大家要讲的是创建仓库的准备工作. 1.建仓库git init 第一步是创建一个空仓库,这是一切操作的前提. // 打开git bash命令行,切换到指定目录下 ja ...

  3. 痞子衡嵌入式:第一本Git命令教程(3)- 变动(status/diff)

    今天是Git系列课程第三课,前两课我们都是在做Git仓库准备工作,今天痞子衡要讲的是如何查看Git空间内发生的改动. 本地有了仓库,我们便可以在仓库所在目录下做文件增删改操作,为了确定改动操作的正确性 ...

  4. 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)

    今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...

  5. 痞子衡嵌入式:第一本Git命令教程(6)- 日志(log/reflog/gitk)

    今天是Git系列课程第六课,上一课我们学会了Git本地提交,今天痞子衡要讲的是如何查看Git本地历史提交. 当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动.有三种Git命 ...

  6. 痞子衡嵌入式:第一本Git命令教程(2)- 连接(remote/clone)

    今天是Git系列课程第二课,上一课我们已经学会在本地创建一个空仓库,痞子衡今天要讲的是如何将本地仓库与远程建立联系. 1.将本地仓库挂上远程git remote 本地建好了仓库,我们希望能够挂到远程服 ...

  7. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)

    今天是Git系列课程第四课,上一课我们在Git空间里做了一些文件改动并且知道了如何利用Git查看这些变动,今天痞子衡要讲的是将这些变动提交到Git本地仓库前的准备工作. Git仓库目录下的文件改动操作 ...

  8. 痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质 ...

  9. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(1)- 环境搭建(Python2.7.14 + pySerial3.4 + wxPython4.0.3)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之环境搭建. 在写Jays-PyCOM时需要先搭好开发和调试环境,下表列出了开发过程中会用到的所有软 ...

随机推荐

  1. BZOJ_2006_[NOI2010]超级钢琴_贪心+堆+ST表

    BZOJ_2006_[NOI2010]超级钢琴_贪心+堆+ST表 Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的 音乐 ...

  2. BZOJ_3012_[Usaco2012 Dec]First!_trie树+拓扑排序

    BZOJ_3012_[Usaco2012 Dec]First!_trie树+拓扑排序 题意: 给定n个总长不超过m的互不相同的字符串,现在你可以任意指定字符之间的大小关系.问有多少个串可能成为字典序最 ...

  3. Android代码混淆的问题解决(java.io.FileNotFoundException)

    Android Studio(2.3.3) 在给代码混淆时,提示: Warning:Exception while processing task java.io.FileNotFoundExcept ...

  4. 【移动端web】软键盘兼容问题

    软键盘收放事件 这周几天遇到了好几个关于web移动端兼容性的问题.并花了很长时间去研究如何处理这几种兼容问题. 这次我们来说说关于移动端软键盘的js处理吧. 一般情况下,前端是无法监控软键盘到底是弹出 ...

  5. ply python 图片压缩 图片裁剪 旋转

    http://tech.seety.org/python/python_imaging.html

  6. ASP.NET Core2.2+Quartz.Net 实现web定时任务

    作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定时任务程序/脚本. 但是 ...

  7. github下载和上传项目

    git下载和上传项目 下载: git clone +地址 上传: 1.git init 在当前项目的目录中生成本地的git管理(多一个.git文件夹,为隐藏文件) 2.git add .(注意最后面有 ...

  8. JavaWeb 乱码问题终极解决方案!

    经常有读者在公众号上问 JavaWeb 乱码的问题,昨天又有一个小伙伴问及此事,其实这个问题很简单,但是想要说清楚却并不容易,因为每个人乱码的原因都不一样,给每位小伙伴都把乱码的原因讲一遍也挺费时间的 ...

  9. 学习 JavaScript (八) 引用类型之 Object

    在JavaScript中,引用类型是一种数据结构.包括对象(Obejct).数组(Array).日期(Date).正则表达式(RegExp).函数(Function).基本包装类型(new Boole ...

  10. Javaoop 遇到的问题

    一.java 异常的捕获与处理 (免责声明:本博客里所引用的他人博客链接,只用作我个人的学习,同时非常感谢这些作者!) 1.  https://blog.csdn.net/wei_zhi/articl ...