1、安装Git-2.16.2-64-bit.exe后,设置用户名,用户邮箱

#--global参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2、创建版本库

命令:git init

版本库:版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

3、把文件添加到版本库

命令:git add 文件

解析:将文件添加到暂存区

命令:git commit -m "log description"

解析:将文件添加到本地库。-m命令用于添加提交说明日志。

命令:git status

解析:查看当前的文件修改状态。上面截图因为我们已经提交到本地仓库了,所以当前库中没有任何修改。

命令:git diff 文件

解析:查看指定文件差异。

lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified:   readme.txtno changes added to commit (use "git add" and/or "git commit -a")lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git diff readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory.
diff --git a/readme.txt b/readme.txt
index 9c69c9c..4b1c78e 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-GIt is a version control system.
+GIt is a distributed version control system.Git is free software.lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$

4、版本回退

命令:git log [--pretty=oneline]

解析:显示从最近到最远的提交日志

lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git log
commit adde96d057448c792343465df3aee108764defbd (HEAD -> master)
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 21:08:03 2019 +0800add GPLcommit 31728b8d6ec5a40ed7eca72aca63533d8625b423
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:47:26 2019 +0800add distributedcommit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:33:10 2019 +0800create readme.txt

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

  现在,我们要把当前版本append GPL回退到上一个版本add distributed,就可以使用git reset命令

命令:git reset --hard commit_id

解析:

lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git reset --hard HEAD^
HEAD is now at 31728b8 add distributed

再次查看log,发现我们最后一次提交的内容已经找不到了。但是,只要当前窗口没有关闭(或者关闭了但你要记得commit id),还是可以再找回的,要输入之前查看的commit id。(即adde96d057...)

lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git log
commit 31728b8d6ec5a40ed7eca72aca63533d8625b423 (HEAD -> master)
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:47:26 2019 +0800add distributedcommit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:33:10 2019 +0800create readme.txtlfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git reset --hard adde96
HEAD is now at adde96d add GPLlfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ cat readme.txt
GIt is a distributed version control system.
Git is free software distributed under the GPL.lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git log
commit adde96d057448c792343465df3aee108764defbd (HEAD -> master)
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 21:08:03 2019 +0800add GPLcommit 31728b8d6ec5a40ed7eca72aca63533d8625b423
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:47:26 2019 +0800add distributedcommit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <1220429263@qq.com>
Date:   Sat Aug 24 20:33:10 2019 +0800create readme.txtlfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$

命令:git reflog

解析:记录你的命令

lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git reflog
adde96d (HEAD -> master) HEAD@{0}: reset: moving to adde96
31728b8 HEAD@{1}: reset: moving to HEAD^
adde96d (HEAD -> master) HEAD@{2}: commit: add GPL
31728b8 HEAD@{3}: commit: add distributed
586474b HEAD@{4}: commit (initial): create readme.txtlfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$

转载于:https://www.cnblogs.com/ZeroMZ/p/11405816.html

Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退相关推荐

  1. Python 3 学习(一)—— 基础:廖雪峰 Python 教程学习笔记

    文章目录 Python教程 值类型和引用类型 列表和字典的基本操作 列表 元组 字典 Set 函数 内置函数 定义函数 空函数 参数检查 定义默认参数要牢记一点:默认参数必须指向不变对象! Pytho ...

  2. java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础

    (一)Java程序基本结构 Java是面向对象的语言,一个程序的基本单位就是class.在class内部,可定义若干方法. 类名要求: 类名必须以英文字母开头,后接字母,数字和下划线的组合 习惯以大写 ...

  3. 廖雪峰python教程学习:装饰器@小结

    装饰器@小结 廖雪峰老师的python教程 在代码运行期间动态增加功能的方式,称为装饰器 本质上,装饰器是一个可以返回函数的高阶函数 最基本的可以定义如下: def log(func):@functo ...

  4. 廖雪峰python教程学习:类、实例与数据封装小结

    类.实例与数据封装小结 廖雪峰老师的python教程 1.类与实例 面向对象最重要的内容就是类(class),类是抽象的模板,后面紧接着是类名,紧接着是(object),表示其是从哪个类上继承上来的, ...

  5. 廖雪峰javascript教程学习记录

    $1.数据类型和变量 1.不区分整数和浮点数,统一用Number 2.字符串String 3.布尔值 注意: (1) 实际上,JavaScript允许对任意数据类型做比较; 要特别注意相等运算符==. ...

  6. 廖雪峰python教程学习之习题解析

    第一天 条件判断练习测试 # 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数: # 低于18.5:过轻 # 18.5-25:正常 ...

  7. 廖雪峰JS教程学习记录---字符串

    1.由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用'...'表示`这是一个 多行 字符串`; 2.字符串常见的操作如下: s.length; // 13 要 ...

  8. 廖雪峰JS教程学习记录----Map和Set

    Map和Set Map Map是一组键值对的结构,具有极快的查找速度. 1.解决问题: JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值 ...

  9. mysql 廖雪峰_mysql查询(廖雪峰sql教程学习摘录)

    mysql默认不区分大小写 条件查询 select * from students                                                            ...

  10. 廖雪峰--python教程:笔记四-函数式编程

    函数式编程: 概念:是一种抽象程度很高的编程方式,允许将一个函数作为参数传入另一个函数,还允许返回一个函数. 接下来介绍: map/reduce,filter,stored函数,返回函数,匿名函数,装 ...

最新文章

  1. Linux 高可用开源方案 Keepalived VS Heartbeat对比
  2. 嵌入式Linux教程一:安装Ubuntu并进行基本配置、交叉编译环境和Minicom
  3. s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device...
  4. 在虚拟中开启Windows 8.1的Hyper-V平台
  5. 【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明
  6. 基于 DirectShow 的播放器
  7. 【034】◀▶ 学习网站 问题解决
  8. 华为P40系列起售价曝光!有点意想不到
  9. mvc5 新手入门--ASP.NET MVC5中View-Controller间数据的传递
  10. linux系统中文乱码的问题
  11. Redis客户端工具如何连接宝塔Redis服务器
  12. 强网杯2021CTF 强网先锋shellcode侧信道攻击复现
  13. 线性回归实现人脸识别——ORL数据集
  14. 网络分析工具-Mtr
  15. u盘efi分区删除方法
  16. 王者服务器维护11月,王者荣耀11月22日版本更新维护 更新内容介绍
  17. [BUUCTF-pwn] zer0ptts_2020_protrude
  18. 音频文件的结构与规范——RIFF和WAVE音频文件格式
  19. socket广播报文收发简单梳理
  20. Tapdata 创始人唐建法:以秒级响应速度,为企业提供实时数据服务 | 阿里云云原生加速器特别报道

热门文章

  1. uos/deepin设置屏幕缩放比例的命令
  2. 深圳40K都招不到嵌入式开发人员?
  3. 转载:ProGuard 混淆规则说明
  4. 编程基本功:典型的柳氏风格命名一例
  5. 管理新语:不愿意做的事情,与其应付,不如直接明说
  6. JDK多了一个shenandoah GC
  7. JAVA读写之前,先进行一下可读,可写权限判断
  8. ubuntu删除OpenCV
  9. matlab生成网络流量,BP神经网络 预测网络流量
  10. SpringCloud学习5-如何创建一个服务提供者provider