Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退
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)基本命令,版本回退相关推荐
- Python 3 学习(一)—— 基础:廖雪峰 Python 教程学习笔记
文章目录 Python教程 值类型和引用类型 列表和字典的基本操作 列表 元组 字典 Set 函数 内置函数 定义函数 空函数 参数检查 定义默认参数要牢记一点:默认参数必须指向不变对象! Pytho ...
- java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础
(一)Java程序基本结构 Java是面向对象的语言,一个程序的基本单位就是class.在class内部,可定义若干方法. 类名要求: 类名必须以英文字母开头,后接字母,数字和下划线的组合 习惯以大写 ...
- 廖雪峰python教程学习:装饰器@小结
装饰器@小结 廖雪峰老师的python教程 在代码运行期间动态增加功能的方式,称为装饰器 本质上,装饰器是一个可以返回函数的高阶函数 最基本的可以定义如下: def log(func):@functo ...
- 廖雪峰python教程学习:类、实例与数据封装小结
类.实例与数据封装小结 廖雪峰老师的python教程 1.类与实例 面向对象最重要的内容就是类(class),类是抽象的模板,后面紧接着是类名,紧接着是(object),表示其是从哪个类上继承上来的, ...
- 廖雪峰javascript教程学习记录
$1.数据类型和变量 1.不区分整数和浮点数,统一用Number 2.字符串String 3.布尔值 注意: (1) 实际上,JavaScript允许对任意数据类型做比较; 要特别注意相等运算符==. ...
- 廖雪峰python教程学习之习题解析
第一天 条件判断练习测试 # 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数: # 低于18.5:过轻 # 18.5-25:正常 ...
- 廖雪峰JS教程学习记录---字符串
1.由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用'...'表示`这是一个 多行 字符串`; 2.字符串常见的操作如下: s.length; // 13 要 ...
- 廖雪峰JS教程学习记录----Map和Set
Map和Set Map Map是一组键值对的结构,具有极快的查找速度. 1.解决问题: JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值 ...
- mysql 廖雪峰_mysql查询(廖雪峰sql教程学习摘录)
mysql默认不区分大小写 条件查询 select * from students ...
- 廖雪峰--python教程:笔记四-函数式编程
函数式编程: 概念:是一种抽象程度很高的编程方式,允许将一个函数作为参数传入另一个函数,还允许返回一个函数. 接下来介绍: map/reduce,filter,stored函数,返回函数,匿名函数,装 ...
最新文章
- Linux 高可用开源方案 Keepalived VS Heartbeat对比
- 嵌入式Linux教程一:安装Ubuntu并进行基本配置、交叉编译环境和Minicom
- s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device...
- 在虚拟中开启Windows 8.1的Hyper-V平台
- 【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明
- 基于 DirectShow 的播放器
- 【034】◀▶ 学习网站 问题解决
- 华为P40系列起售价曝光!有点意想不到
- mvc5 新手入门--ASP.NET MVC5中View-Controller间数据的传递
- linux系统中文乱码的问题
- Redis客户端工具如何连接宝塔Redis服务器
- 强网杯2021CTF 强网先锋shellcode侧信道攻击复现
- 线性回归实现人脸识别——ORL数据集
- 网络分析工具-Mtr
- u盘efi分区删除方法
- 王者服务器维护11月,王者荣耀11月22日版本更新维护 更新内容介绍
- [BUUCTF-pwn] zer0ptts_2020_protrude
- 音频文件的结构与规范——RIFF和WAVE音频文件格式
- socket广播报文收发简单梳理
- Tapdata 创始人唐建法:以秒级响应速度,为企业提供实时数据服务 | 阿里云云原生加速器特别报道