Git小白到老鸟的进阶之路
点“计算机视觉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小白到老鸟的进阶之路的更多相关文章
- 2017PHP程序员的进阶之路
2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...
- 浅谈Android进阶之路
过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期.成长期.成熟期.现在来说已经进入饱和期.依然记得在 2010-2013 年期间,从事移动开 ...
- Android研发进阶之路
前言 移动研发火热不停,越来越多人开始学习android开发.但很多人感觉入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,到达下一阶段需要补充哪些内容.市面上也多是谈论知识图谱,缺少体系和 ...
- GO语言的进阶之路-初探GO语言
GO语言的进阶之路-初探GO语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么我们需要一门新语言 Go语言官方自称,之所以开发Go 语言,是因为“近10年来开发程序之难 ...
- GO语言的进阶之路-爬虫进阶之路
GO语言的进阶之路-爬虫进阶之路 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 网络爬虫是一种自动获取网页内容的程序,是搜索引擎的重要组成部分.我们今天要介绍的就是一个简单的网络爬 ...
- GO语言的进阶之路-面向过程式编程
GO语言的进阶之路-面向过程式编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们在用Golang写一个小程序的时候,未免会在多个地方调用同一块代码,这个时候如何优化你的代码呢 ...
- GO语言的进阶之路-Golang字符串处理以及文件操作
GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...
- Sass进阶之路,之一(基础篇)
Sass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css作为目标生成文件,然后开发者就只要使用这种语言进行编码工作了.预处理器通 ...
- 【转】2017PHP程序员的进阶之路
2017PHP程序员的进阶之路 又是一年毕业季,可能会有好多毕业生即将进入开发这个圈子,踏上码农这个不归路.根据这些年在开发圈子总结的LNMP程序猿发展轨迹,结合个人经验体会,总结出很多程序员对未来的 ...
随机推荐
- Fakeapp2.2安装,使用简记
1,硬件和操作系统,支持cuda的Nvidia显卡,8G及以上的内存,Windows10 x64(推荐,Windows7 x64亲测可行),可以使用gpu-z查看你的显卡详情 我的笔记本是双显卡(都是 ...
- Linux中进程的优先级
Linux採用两种不同的优先级范围,一种是nice值.还有一种是实时优先级. 1.nice值 nice值得范围是-20~19,默认值是0. 越大的nice值意味着更低的优先级.也就是说nice值为-2 ...
- 对JavaBean创建的一点改进
在看了<Effective Java>Item2中对JavaBean的描述后,再结合Item1和Builder模式,遂想有没有其他方式避免JavaBean创建的线程安全问题呢? 以如下Ja ...
- js json按key值排序
最近有个需求需要把json按key值进行排序,可是js并没有直接的函数可以对json进行排序的这么办呢? 然后想到了一个间接的方法来实现: 1.将json中的key值取出,存在一个数组中,然后对这个数 ...
- 搭建基于Jenkins的CI服务器
安装Jenkins和创建任务这些操作网上一搜一大把,这里就没必要写了,直接就开始编译.单元测试,覆盖,git提交触发构建,构建失败发送给提交人邮件. 因为项目比较复杂,为了懒省事我直接在CI服务器上安 ...
- JQuery 如何获取select选中的值
一.html代码 <select id="ddl"> <option value="100" emoney="12" &g ...
- Avro schemas are defined with JSON . This facilitates implementation in languages that already have JSON libraries.
https://avro.apache.org/docs/current/ Introduction Apache Avro™ is a data serialization system. Avro ...
- CMake命令笔记
project 为整个工程设置名称.版本和启用语言 project(<PROJECT-NAME> [LANGUAGES] [<language-name>...])projec ...
- [Spring Batch 系列] 第一节 初识 Spring Batch
距离开始使用 Spring Batch 有一段时间了,一直没有时间整理,现在项目即将完结,整理下这段时间学习和使用经历. 官网地址:http://projects.spring.io/spring-b ...
- 怎样把word直接转换成ppt