这篇博客主要记录了关于 查看记录、版本回退、添加标签、删除文件 的操作

1、查看文件修改情况:

可以通过 git diff a.java查看a.java文件自从上次提交后的修改情况,如果自从上次提交之后没有修改,则不弹出任何信息。

在 git diff 命令得到的结果中,用绿色字体标记出新加的行,用红色字体标记出删除的行。如果对某一行进行了修改,则会用红色字体写出修改前的行,再用绿色字体标记出现在的行。

2、查看历史记录:

使用 git log --pretty=oneline命令查看历史记录,即commit记录,其结果显示的是从最近到最远的提交。其中,“2287……d59d”表示的是commit id,即commit的版本号。

3、版本回退:

每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失,这就是版本回退的原理。版本回退有以下几种情况:

(1)回退到N个版本之前:git reset --hard HEAD~N。HEAD是一个指向当前版本的指针,HEAD~N就是当前版本倒退N个版本之前的版本:

(2)回退到指定版本:git reset –hard 2287aaf17fc4dc22a64c1ff14a6fcfd5d789d59d。这种方式可以根据commit id回退到任意一个版本,无论是以前的版本还是以后的版本:

(3)如果在回退之后关机,重新开机后想恢复到最新版本,此时用git log命令没用,可以用 git reflog命令查看历史操作,根据最前面的commit id,通过git reset命令恢复

(4)如果想撤销一个即没有add也没有commit的文件的内容,可以使用 git checkout -- a.java命令

(5)如果想撤销一个已经add但还没commit的文件的内容,可以使用 git reset HEAD a.java命令

(6)如果想撤销一个已经commit的文件的内容,可以使用版本回退

(7)如果想撤销一个已经推送到远程仓库的文件的内容,是不可能的

4、删除文件:

可以直接从文件系统中删除文件,但此时文件在本地仓库中仍然存在,如果想彻底删除文件,可以使用 git rm a.java,此时就不能恢复文件了;如果还没有rm,可以使用 git checkout -- a.java 从本地仓库中恢复文件。

5、标签:

(1)添加标签到当前分支的最新commit:git tag v1.0

(2)添加标签到当前分支的某个commit:git tag v1.0 6224937,最后一个参数是commit id

(3)查看标签:git tag

(4)查看某个标签的信息:git show v1.0

(5)添加带有说明的标签:git tag –a v1.0 –m “my tag” 6244937,即在6244937这个commit上加一个tag,tag说明是my tag

【开发工具 - Git】之Git版本回退的更多相关文章

  1. [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset

    在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           # ...

  2. Git使用:版本回退

    在Git中,我们可以用 git log命令查看我们修改的历史记录 C:\Users\Administrator\Documents\GitHub\learngit [master]> git l ...

  3. 开发工具--浅谈Git

    工具|浅谈Git Git这个工具,是我一直想写文章,终于我实现了我的想法.在我开始写之前,发表一下自己的看法,git只是一个工具,既然已经认定是一个工具,那么一定具备工具这类的共同特征,请用面向对象的 ...

  4. Git秘籍:在 Git 中进行版本回退

    导读 在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题.快来试试吧. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中 ...

  5. Git教程之版本回退(4)

    现在,我们已经学会了修改文件,然后把修改提交到Git版本库,现在再次修改readme.txt文件如下:

  6. Git 系列(四):在 Git 中进行版本回退

    在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个 ...

  7. Git -- 基本操作 之 版本回退

    现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...

  8. 开发工具篇:Git和Github

    开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...

  9. 【Git学习笔记】初始化Git仓库和版本回退

    学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...

  10. git中的版本回退

    git版本回退有两种情况,一种是从本地版本库中(head区)回退到某个版本,可以用命令 git reset --hard head^ 或git reset --hard head~x ,head指的是 ...

随机推荐

  1. BT5升级MSF至Git更新的方法

    由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新, 但是新版本的MSF已经停止通过SVN更新,改用Git, ...

  2. FastCGI中文规范

    http://fuzhong1983.blog.163.com/blog/static/1684705201051002951763/ . 介绍 FastCGI是对CGI的开放的扩展,它为所有因特网应 ...

  3. spring mvc 使用及json 日期转换解决方案

    http://blog.csdn.net/z69183787/article/details/40375479

  4. MFC浅析(7) CWnd类虚函数的调用时机、缺省实现

    CWnd类虚函数的调用时机.缺省实现 FMD(http://www.fmdstudio.net) 1. Create 2. PreCreateWindow 3. PreSubclassWindow 4 ...

  5. leetcode面试准备:Simplify Path

    leetcode面试准备:Simplify Path 1 题目 Given an absolute path for a file (Unix-style), simplify it. For exa ...

  6. Python sh库学习 上篇

    官方文档有句话"allows you to call any program",并且:helps you write shell scripts in Python by givi ...

  7. php 模拟斗地主发牌简单易懂

    闲来无聊,就写了这个方法,也算是熟悉下php的数组操作,还请各位大神多指教.$arr 数组,好像有点问题,应该 2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑 ...

  8. proc 文件系统调节参数介绍

    /proc/net/* snmp文件 Ip: ip项 Forwarding        : 是否开启ip_forward,1开启,2关闭 DefaultTTL       : IP默认ttl. In ...

  9. hdu4662MU Puzzle

    http://acm.hdu.edu.cn/showproblem.php?pid=4662 I+3*U模6为2或4的都可以 一个U相当于3个I  而I只能1->2->4->8..如 ...

  10. C#排序算法的比较

    首先通过图表比较不同排序算法的时间复杂度和稳定性. 排序方法 平均时间 最坏情况 最好情况 辅助空间 稳定性 直接插入排序 O(n2) O(n2) O(n) O(1) 是 冒泡排序 O(n2) O(n ...