【开发工具 - Git】之Git版本回退
这篇博客主要记录了关于 查看记录、版本回退、添加标签、删除文件 的操作
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版本回退的更多相关文章
- [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset
在window下已经安装了git的环境 1.建立本地仓库 mkdir test #建立test目录 cd test #进入目录 git init # ...
- Git使用:版本回退
在Git中,我们可以用 git log命令查看我们修改的历史记录 C:\Users\Administrator\Documents\GitHub\learngit [master]> git l ...
- 开发工具--浅谈Git
工具|浅谈Git Git这个工具,是我一直想写文章,终于我实现了我的想法.在我开始写之前,发表一下自己的看法,git只是一个工具,既然已经认定是一个工具,那么一定具备工具这类的共同特征,请用面向对象的 ...
- Git秘籍:在 Git 中进行版本回退
导读 在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题.快来试试吧. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中 ...
- Git教程之版本回退(4)
现在,我们已经学会了修改文件,然后把修改提交到Git版本库,现在再次修改readme.txt文件如下:
- Git 系列(四):在 Git 中进行版本回退
在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个 ...
- Git -- 基本操作 之 版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...
- 开发工具篇:Git和Github
开发工具篇:Git和Github Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程: Workspace:工作区 Index / Stage:暂存区 Repositor ...
- 【Git学习笔记】初始化Git仓库和版本回退
学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...
- git中的版本回退
git版本回退有两种情况,一种是从本地版本库中(head区)回退到某个版本,可以用命令 git reset --hard head^ 或git reset --hard head~x ,head指的是 ...
随机推荐
- centos 卸载vsftpd方法
centos 卸载vsftpd方法 在服务器上安装了vsftpd,配置出错需要卸载vsftpd.卸载vsftpd的命令如下: 1 [root@localhost ~]# rpm -aq vsftpd2 ...
- display:inline-block的深入理解
在使用 CSS 实现表现的时候,会经常接触到 display:inline-block 这一属性,无论是 初接触 Web 标准还是接触标准已久的朋友,大都会对这一属性感觉很迷惑和模糊. display ...
- Javascript编程模式(JavaScript Programming Patterns)Part 2.(高级篇)
模块编程模式的启示(Revealing Module Pattern) 客户端对象(Custom Objects) 懒函数定义(Lazy Function Definition) Christian ...
- 一个用于清除loadrunner产生log文件的批处理
@echo off set work_path="%~dp0" for /R %%s in (*.txt,*.log) do ( del /f "%%s" ) ...
- 网络编程(二)NSURLSessionConfiguration
1.NSURLSession有三种工作模式 (1)defaultSessionConfiguration(默认):使用的是基于磁盘缓存的持久化策略,Cache,Cookie. (2)ephemeral ...
- strspn和strcspn妙用
http://blog.csdn.net/aidenliu/article/details/5460201
- 安装Sublime Text 3插件
按 Ctrl+` 或者如下图调出Console 粘贴以下代码到底部命令行并回车: import urllib.request,os; pf = 'Package Control.sublime-pac ...
- v2ex上100个话题
V2EX 是创意工作者们的社区. 这里目前汇聚了超过 110,000 名主要来自互联网行业.游戏行业和媒体行业的创意工作者. V2EX在华人IT圈占有举足轻重的地位. 近来闲的蛋疼,按照4个不同的指标 ...
- bzoj1007
其实吧,就是一个半平面交,而且不用考虑转回来的情况,所以只要极角排序然后用栈即可给的是点斜式,比极角很方便至于完整版的半平面交还没写过,看到再说吧 ..] of longint; v:..] of b ...
- PHP ‘asn1_time_to_time_t’函数内存损坏漏洞
漏洞名称: PHP ‘asn1_time_to_time_t’函数内存损坏漏洞 CNNVD编号: CNNVD-201312-348 发布时间: 2013-12-18 更新时间: 2013-12-18 ...