git log 提交日志
git reflog 命令日志
git status 查看状态

管理修改

git diff 工作区与暂存区
git diff master 工作区与版本库
git diff --cached 暂存区与版本库

删除文件

1.如果你用的rm删除文件,那就相当于只删除了工作区的文件,如果想要恢复,直接用git checkout -- <file>就可以
2.如果你用的是git rm删除文件,那就相当于不仅删除了文件,而且还添加到了暂存区,需要先git reset HEAD <file>,然后再git checkout -- <file>
3.如果你想彻底把版本库的删除掉,先git rm,再git commit 就ok了

撤销修改 删除

git checkout -- <file> 工作区到原状态
git reset HEAD <file> 暂存区到工作区
已经提交到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

版本回退

git reset --hard HEAD^ 回到上个版本
git reset --hard HEAD^^ 回到上上个版本
当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard <commit_id> 指定回退回退的版本
git checkout <commit_id> <file> 指定文件版本回退

使用命令 git log 回到过去... 可以查看提交历史,以便确定要回退到哪个版本。
使用命令git reflog 重返未来... 查看命令历史,以便确定要回到未来的哪个版本。

Git 时光穿梭机的更多相关文章

  1. git学习之时光穿梭机

    "x"修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free softwar ...

  2. Git 时光穿梭鸡 删除文件 以及批量删除文件

    先添加一个新文件test.txt到Git并且提交: 一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了 $ rm test.txt 这个时候,Git知道你删除了文件, 因此,工作 ...

  3. Git 时光穿梭鸡 撤销修改

    工作区内容修改了, 但是并未add到暂存区, 想 回退到上一个版本 在readme.txt中添加了一行: Git is a distributed version control system. Gi ...

  4. 第二课 ---git时光穿梭(版本回退)

    1.  git  status  掌握仓库当前的状态. 2.  git  diff 查看修改的内容部分. //版本回退: 1.查看更新的历史记录. git log git log --pretty=o ...

  5. Git 时光穿梭鸡 管理修改

    Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改, 删除了一行,也是一个修改, 更改了某些字符,也是一个修改, 删了一些又加了一些,也是一个修改, 甚至创建一个新文 ...

  6. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

  7. git从安装到应用的学习

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 Git学习笔记 分布式版本控制与集中式版本控制的最大区别 集中式的版本控制,本地没有历史记录,完整的仓 ...

  8. Git入门 时光穿梭鸡 版本回退 工作区 暂存区

    分布式集中式 CVS及SVN都是集中式的版本控制系统 , 而Git是分布式版本控制系统 集中式版本控制系统,版本库是集中存放在中央服务器的, 而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得 ...

  9. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

随机推荐

  1. NIM游戏的Python实现

    可执行程序下载: 链接:https://pan.baidu.com/s/1xQedrWRBsqQRZvOe91Rvng 提取码:goi9 Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规 ...

  2. Xamarin.Forms登录对话框及表单验证

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议,请网站留言: 如果您觉得Dotnet9对您有帮助,欢迎赞赏. Xamarin.Forms登录系统 内容目录 实现效果 业务场景 编码实现 ...

  3. 组件使用v-model、$listeners、.sync(区别于v-model的双向数据绑定)

    自定义组件 自定义组件的v-model 首先我们先说一下在自定义组件中使用v-model的必要条件 在自定义的组件中要有input(这里我们先不讨论单选复选框) 在自定义组件的模板对象中要有props ...

  4. LOJ #3119. 「CTS2019 | CTSC2019」随机立方体 组合计数+二项式反演

    好神的一道计数题呀. code: #include <cstdio> #include <algorithm> #include <cstring> #define ...

  5. BZOJ 4238: 电压 DFS树

    分类讨论一下奇环和偶环的情况. code: #include <bits/stdc++.h> #define N 200006 #define setIO(s) freopen(s&quo ...

  6. 剑指offer-面试题11-旋转数组的最小数字-二分法

    /* 题目: 把一个数组最开始的若干个元素搬到数组末尾,我们称之为数组的旋转. 输入一个递增排序的数组的旋转,输出旋转数组中的最小元素. */ /* 思路: 采用二分的方法,旋转数组实质上是上左半部分 ...

  7. JavaDay7(下)

    问题1描述 编写一个方法,返回一个double类型二维数组,数组中的元素通过解析字符串参数获得. 代码实现: public class ArrayParser { public static void ...

  8. 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning

    Introduction (1)Motivation: 大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据. (2)Method: 对没有标记的数据生成 ...

  9. 折半枚举+Hash(HDU1496升级版)

    题目链接:N - 方程的解 给定一个四元二次方程: Ax1^2+Bx2^2+Cx3^2+Dx4^2=0 试求−1000≤x1,x2,x3,x4≤1000非零整数解的个数. −10000≤A,B,C,D ...

  10. Pikachu-php反序列化

    在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象 ...