点“计算机视觉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?

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

最新文章

  1. 运行python程序
  2. TortoiseGit与github实现项目的上传
  3. hadoop 集群的配置
  4. android代码优化----ListView中自定义adapter的封装(ListView的模板写法)
  5. cocos2dx 3.8版关于#include "GB2ShapeCache-x.h"
  6. 关于YUV格式数据
  7. vs2010 编译Qt5.2 rc1
  8. 去掉cajviewer 右上角的“中国知网数字出版物超市
  9. XAML 名称范围 (x:) 语言特性
  10. Entity Framework with MySQL
  11. linux apache 打模块示例
  12. 【LeetCode】116. Populating Next Right Pointers in Each Node
  13. RabbitMQ安装以及java使用(二)
  14. 圆方树简介(UOJ30:CF Round #278 Tourists)
  15. Yii2基本概念之——配置(Configurations)
  16. SQL server 统计数据库表数量和列出所有表名称
  17. Exception in thread "main" java.lang.NullPointerException at Class.main
  18. PHP的会话控制
  19. Python的两种运行方式
  20. ubuntu 16.04安装 navicat

热门文章

  1. MVC上传多张图片
  2. 解读OC中的load和initialize
  3. UVA 12130 - Summits(BFS+贪心)
  4. iOS开发之──传感器使用
  5. iOS开发教程:Storyboard全解析-第一部分
  6. IOS8 TouchID使用介绍
  7. UVA 10529 - Dumb Bones(概率+区间dp)
  8. Mac 操作系统安装 SVN server教程(Subversion With Mac OS X Tutorial)
  9. windowbuilder安装
  10. js程序开发-2