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.txt no 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
--- a/readme.txt
+++ b/readme.txt
@@ -, +, @@
-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 <@qq.com>
Date: Sat Aug :: + add GPL commit 31728b8d6ec5a40ed7eca72aca63533d8625b423
Author: lfy <@qq.com>
Date: Sat Aug :: + add distributed commit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <@qq.com>
Date: Sat Aug :: + create 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 <@qq.com>
Date: Sat Aug :: + add distributed commit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <@qq.com>
Date: Sat Aug :: + create readme.txt lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$ git reset --hard adde96
HEAD is now at adde96d add GPL lfy@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 +0800 add GPL commit 31728b8d6ec5a40ed7eca72aca63533d8625b423
Author: lfy <@qq.com>
Date: Sat Aug :: + add distributed commit 586474b5bd16e377df3b657ffc1b35f663a69038
Author: lfy <@qq.com>
Date: Sat Aug :: + create readme.txt lfy@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@{}: reset: moving to adde96
31728b8 HEAD@{}: reset: moving to HEAD^
adde96d (HEAD -> master) HEAD@{}: commit: add GPL
31728b8 HEAD@{}: commit: add distributed
586474b HEAD@{}: commit (initial): create readme.txt lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master)
$
Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退的更多相关文章
- Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库
1.本次连接的是gitHub仓库. 1>创建SSH Key. ssh-keygen -t rsa -C "youremail@example.com" lfy@lfy-PC ...
- Git-第三篇廖雪峰Git教程学习笔记(2)回退修改,恢复文件
1.工作区 C:\fyliu\lfyTemp\gitLocalRepository\yangjie 2.版本库 我们使用git init命令创建的.git就是我们的版本库.Git的版本库里存了很多东西 ...
- Git-第五篇廖雪峰Git教程学习笔记(4)分支
1.一开始,只有一个主分支(master),HEAD指向Master,而Master指向主分支.现在我们创建dev分支. lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/git ...
- 【python】廖雪峰python教程学习--基础
No1: 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的 No2: 用r''表示''内部的字符串默认不转义 No3: 以'''开头,敲回车可以换行 No4: 布尔 ...
- git-廖雪峰版教程学习笔记
- 【学习总结】Git学习-参考廖雪峰老师教程-总
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...
- 廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结
廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 本教程主要是个人的 Git 学习总结. 主要参考博客: 廖雪峰 Git 教程 Git-Cheat-Sheet 文章目录 廖雪峰 Gi ...
- 廖雪峰Git入门教程
廖雪峰Git入门教程 2018-05-24 23:05:11 0 0 0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...
- 从零开始使用git第二篇:git的日常操作
从零开始使用git 第二篇:git的日常操作 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操 ...
随机推荐
- 七、ARM 指令集
7.1 数据处理指令 7.1.1 数据传送类 MOV 类指令:核内寄存器间的数据传送 加载和存储指令(L/S):核内寄存器与挂在存储器总线上器件的数据传送 注意: 核内寄存器就是 R0-R15 外设寄 ...
- 带加载进度的Web图片懒加载组件Lazyload
在Web项目中,大量的图片应用会导致页面加载时间过长,浪费不必要的带宽成本,还会影响用户浏览体验. Lazyload 是一个文件大小仅4kb的图片懒加载组件(不依赖其它第三方库),组件会根据用户当前浏 ...
- Django【第27篇】:ModelForm
基于Form组件实现的增删改和基于ModelForm实现的增删改 一.ModelForm的介绍 ModelForm a. class Meta: model, # 对应Model的 fields=No ...
- Django框架架构总览
Django框架架构总览 理解Django是如何运作的 条目创建于 2013-08-14 1464 views 服务器君一共花费 15.204 ms 进行了 4 次数据库查询,努力地为 ...
- Eclipse Debug模式的开启与关闭问题简析_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 默认情况下,eclipse中右键debug,当运行到设置的断点时会自动跳到debug模式下.但由于我的eclipse环境 ...
- 【NOIP2016提高A组8.12】总结
惨败!!!! 第一题是一道神奇的期望问题. 第二题,发现"如果两个部门可以直接或间接地相互传递消息(即能按照上述方法将信息由X传递到Y,同时能由Y传递到X),我们就可以忽略它们之间的花费&q ...
- spark(2.1.0) 操作hbase(1.0.2)
一.写操作 1.spark中引入外部jar包 1)创建/usr/software/spark_jars目录,把hbase里的lib里的以下七个jar放入/usr/software/spark_jars ...
- 【leetcode】540. Single Element in a Sorted Array
题目如下: 解题思路:题目要求时间复杂度是O(logN),可以尝试使用二分查找法.首先数组是有序的,而且仅有一个元素出现一次,其余均为两次.我们可以先找到数组最中间的元素,记为mid.如果mid和mi ...
- mobx状态管理快速入门
1.mobx状态管理 安装: creact-react-app mobx
- 【bzoj2724】[Violet 6]蒲公英
*题目描述: *输入: 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 *输出: *样例输入: 6 3 1 2 3 2 1 ...