点“计算机视觉life”关注,置顶更快接收消息!

小白:师兄,师兄,上次你教我的操作,我傻乎乎的执行了一遍,可是那个Git究竟是什么那?

师兄:小白莫慌,Git就是一种版本控制,小白,你平时写论文,是不是也按日期保存成许多的版本那。

小白:对呀,对呀。

师兄:那开发项目的时候,每个人开发的部分都不一样,需要记录多个版本,这个就是我们伟大的Git做得。

小白:师兄,师兄,那Git岂不是每个开发人员必备的技能了,我要学!我要学!

师兄:那小白紧跟师兄道路,带你走进Git版本控制。

Step1 : Git安装

师兄: 小白,Git的安装上一节可已经交给你了,这次就要考验你的水平了,不过我提供了安装地址给你哦。

​ MAC下载地址:https://git-scm.com/download/mac

​ Windows下载地址:https://git-scm.com/download/win

​ Linux下载地址:https://git-scm.com/download/linux

Step 2: Git配置

师兄: 小白,刚才说了,版本控制是记录每个人开发部分的信息,那使用Git前得配置好个人的信息,让我们知道是谁在提交信息吧。​

  git config --global user.name  'your_name'
git config --global user.email 'your_email'

其中 git config --global 是对当前用户所有仓库有效

​ git config --local 是对当前仓库有效

​ git config --system 是对本系统的所有用户

小白: 师兄,师兄,那如果我配置好了需要查看自己有没有配置好那

师兄: 教你查看对当前用户所有仓库的配置,其他两种你可以举一反三吗?

  git config --list  --global
Step 3: Git命令

师兄: 小白,你看下面这张图,workspace是工作区,index是暂存区,repository是本地仓库区,我们是在工作区添加修改文件被暂存区管理后提交到本地仓库。

师兄: 小白接下来师兄给你介绍几个命令,你只需要记住即可。

(1)在当前工作区新建一个Git仓库

 git  init

(2)将当前文件添加到暂存区

 git add [file1]  [file2]

师兄:小白,你看这里先试用vim在当前工作区创建了一个README.md文件,然后使用git status查看了当前工作区的状态,README.md文件还没有被Git管理,当使用git add提交后,文件已经被Git管理。

(3)提交暂存区当仓库

git commit -m [message]

(4)信息查看

师兄:小白这里我要教你两个查看信息的命令 git status和 git log,git status 就是不管你做了什么变更都可以通过它来查看。git log是你当前分支提交到仓库的历史版本。

师兄:小白你看这里,通过vim重新修改了README.md,又进行了重新提交到仓库,通过git log就可以显示出两次提交的历史版本,如果你需要查看每次提交的具体内容,还可以通过git show 哈希值查看

师兄:小白小白,这里告诉你一个特别有用的工具gitk,可以通过图形化界面查看历史提交信息。

(5)回撤操作

小白:师兄,师兄,如果我不小心提交错的版本到仓库了怎么办?

师兄:小白,别着急这里教你怎么回撤错误的提交。

从仓库回撤最近的一次提交到暂存区

git reset HEAD~1 --soft

回撤暂存区的内容到工作区

git  reset HEAD

放弃前面的两次回退操作,回到变更之前,可以使用

git  reset  哈希值  --hard

这个哈希值找到前面git log 打印的第二次提交打印的哈希值 回退即可。

师兄:好了,小白,这次就给你说到这里,想要学习更多的Git操作,慢慢跟着师兄混吧。

推荐阅读

师兄带你轻松入门GitHub

实用技能 | GitHub 寻宝指南

如何从零开始系统化学习视觉SLAM?

零基础小白,如何入门计算机视觉?

Git小白到老鸟的进阶之路的更多相关文章

  1. 2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

  2. 浅谈Android进阶之路

    过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期.成长期.成熟期.现在来说已经进入饱和期.依然记得在 2010-2013 年期间,从事移动开 ...

  3. Android研发进阶之路

    前言 移动研发火热不停,越来越多人开始学习android开发.但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容.市面上也多是谈论知识图谱,缺少体系和 ...

  4. GO语言的进阶之路-初探GO语言

    GO语言的进阶之路-初探GO语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么我们需要一门新语言 Go语言官方自称,之所以开发Go 语言,是因为“近10年来开发程序之难 ...

  5. GO语言的进阶之路-爬虫进阶之路

    GO语言的进阶之路-爬虫进阶之路 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 网络爬虫是一种自动获取网页内容的程序,是搜索引擎的重要组成部分.我们今天要介绍的就是一个简单的网络爬 ...

  6. GO语言的进阶之路-面向过程式编程

    GO语言的进阶之路-面向过程式编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们在用Golang写一个小程序的时候,未免会在多个地方调用同一块代码,这个时候如何优化你的代码呢 ...

  7. GO语言的进阶之路-Golang字符串处理以及文件操作

    GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...

  8. Sass进阶之路,之一(基础篇)

    Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通 ...

  9. 【转】2017PHP程序员的进阶之路

    2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...

随机推荐

  1. Lua_第17 章 数学库

    第17 章 数学库 在这一章中(以下关于标准库的几章中相同)我的主要目的不是对每个函数给出完整地说明,而是告诉你标准库可以提供什么功能.为了可以清楚地说明问题,我可能 会忽略一些小的选项或者行为.基本 ...

  2. CentOS系统时间修改

    1. 实体机器上安装CentOS $date -s '2015-03-03 13:34:00' 2. 虚拟机上安装的CentOS #查看系统时间和硬件时间 date hwclock --show #设 ...

  3. 2-3-4树的java实现

    一.什么是2-3-4树 2-3-4树和红黑树一样,也是平衡树.只不过不是二叉树,它的子节点数目可以达到4个. 每个节点存储的数据项可以达到3个.名字中的2,3,4是指节点可能包含的子节点数目.具体而言 ...

  4. mybatis入门(七)

    mybatis入门--添加一个用户 //添加用户 @Test public void insertUserTest() throws IOException { // 通过工厂得到SqlSession ...

  5. SQL Server 2005中top关键字的用法

    1.返回N条记录数 select top n * from <表名> [查询条件] 2.返回总结果集中指定百分比记录数 select top n percent * from <表名 ...

  6. 局域网如何通过SSH连接虚拟机装的centOS系统

    首先,在一个局域网内的一台机器上装了虚拟机,虚拟机上装了centos系统: 但是,只有本机能连接centos,其他电脑都连不上: ping了一下发现不通,然后排查原因. 我发现局域网内的机器IP都是: ...

  7. db的操作

    '/---------------------------------------------------------------------------------------------- '/ ...

  8. ABAP调用新任务代码

    *&调用函数‘ZMLTOTAL_CHECK’启用新任务'jx'执行'ZMLSCP1_FR0003'; IF zmlcbwlcgdd_ok[] is not INITIAL. CALL FUNC ...

  9. MongoDB 倾向于将数据都放在一个 Collection 下吗?

    不是这样的. Collection 的单个 doc 有大小上限,现在是 16MB,这就使得你不可能把所有东西都揉到一个 collection 里.而且如果 collection 结构过于复杂,既会影响 ...

  10. linux CentOS7.2安装ffmpeg-3.0.2

    ffmpeg是一款视频处理软件,在php5.5前以php_ffmpeg.dll扩展的方式存在,通过网上查资料显示,从php5.5以后不支持该扩展了.那么在linux系统下安装ffmpeg.方法如下: ...