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)基本命令,版本回退的更多相关文章

  1. Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库

    1.本次连接的是gitHub仓库. 1>创建SSH Key. ssh-keygen -t rsa -C "youremail@example.com" lfy@lfy-PC ...

  2. Git-第三篇廖雪峰Git教程学习笔记(2)回退修改,恢复文件

    1.工作区 C:\fyliu\lfyTemp\gitLocalRepository\yangjie 2.版本库 我们使用git init命令创建的.git就是我们的版本库.Git的版本库里存了很多东西 ...

  3. Git-第五篇廖雪峰Git教程学习笔记(4)分支

    1.一开始,只有一个主分支(master),HEAD指向Master,而Master指向主分支.现在我们创建dev分支. lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/git ...

  4. 【python】廖雪峰python教程学习--基础

     No1: 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的 No2: 用r''表示''内部的字符串默认不转义 No3: 以'''开头,敲回车可以换行 No4: 布尔 ...

  5. git-廖雪峰版教程学习笔记

  6. 【学习总结】Git学习-参考廖雪峰老师教程-总

    公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...

  7. 廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结

    廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 本教程主要是个人的 Git 学习总结. 主要参考博客: 廖雪峰 Git 教程 Git-Cheat-Sheet 文章目录 廖雪峰 Gi ...

  8. 廖雪峰Git入门教程

    廖雪峰Git入门教程  2018-05-24 23:05:11     0     0     0 https://www.liaoxuefeng.com/wiki/00137395163059296 ...

  9. 从零开始使用git第二篇:git的日常操作

    从零开始使用git 第二篇:git的日常操作 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:git撤销操作.分支操 ...

随机推荐

  1. [易学易懂系列|golang语言|零基础|快速入门|(三)]

    接下来,我们主要讲讲package. 先列举下go的package的一些核心特性: 1.go的package不局限于一个文件,组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同 ...

  2. bzoj5017 [Snoi2017]炸弹 (线段树优化建图+)tarjan 缩点+拓扑排序

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5017 题解 这个题目方法挺多的. 线段树优化建图 线段树优化建图的做法应该挺显然的,一个炸弹能 ...

  3. 如何保证Redis与数据库的数据一致性

    一般来说,只要你用到了缓存,不管是Redis还是memcache,就可能会涉及到数据库缓存与数据的一致性问题,这里我们以Redis为例. 我们该如何保证Redis与数据库的一致性呢? So easy: ...

  4. css----动画(图片无限放大缩小)

    先给大家推荐animate.css库,里面有一些效果很不错的过度样式,不想自己写的也可以直接安装这个库来使用,如果不想安装这个库也可以去https://daneden.github.io/animat ...

  5. Vue最常用的组件通讯有三种:父->子组件通讯、子->父组件通讯,兄弟组件通讯.(template用的pug模板语法)

    Vue组件通讯   Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通 ...

  6. mybatis配eclise模板,mybatis快速生成模板

    eclipse中mybatis得mapper文件不提示(mybatis-3-mapper.dtd,mybatis-3-config.dtd) 1.下载该文件到你的硬盘文件夹下 2.windows -- ...

  7. web移动端适配方案

    web移动端常用解决方案: 一.通过js+rem,这里有一个解决方案(http://imochen.github.io/hotcss/) 1.1.rem兼容性(https://caniuse.com) ...

  8. HDU1232 畅通工程(并查集)

    #include<iostream> using namespace std; ]; int findx(int x) { while(num[x]!=x)x=num[x]; return ...

  9. sh_07_买苹果增强版

    sh_07_买苹果增强版 # 1. 输入苹果的单价 price_str = input("苹果的单价:") # 2. 输入苹果的重量 weight_str = input(&quo ...

  10. linux php扩展模块安装

    安装Freetds Freetds 官方网站是 http://www.freetds.org,可以去官方网站下载程序,文中下载的是0.92.79版本. wget ftp://ftp.freetds.o ...