git 学习(2)--恢复版本
查看修改历史记录
$ git log
commit fba77877d316436c1b774b8933380ebcac668040
Author: keith <ustbfxx@163.com>
Date: Fri Jan 16 01:34:06 2015 +0800
add a git instance
commit 148ff70cb26b4805609ada5f95436e002490adb9
Author: keith <ustbfxx@163.com>
Date: Wed Jan 14 04:14:20 2015 +0800
add good study
commit 69a629d7ec0e0c9f582fb26bb50e5974b18c55a3
Author: keith <ustbfxx@163.com>
Date: Tue Jan 13 22:51:10 2015 +0800
create readme.txt file
如果我们嫌输出信息太多,可以加上--pretty=oneline
$ git log --pretty=oneline
fba77877d316436c1b774b8933380ebcac668040 add a git instance
148ff70cb26b4805609ada5f95436e002490adb9 add good study
69a629d7ec0e0c9f582fb26bb50e5974b18c55a3 create readme.txt file
这里fba77877..8040是commit id版本号,是通过SHA1计算出来的一个非常大的数字
回退到上一个版本
$ git reset --hard HEAD^
HEAD is now at 148ff70 add good study
$ cat readme.txt
good git
git is a file version control system
good good study
可以看出已经回到上一个版本,那如何在返回原来的版本呢
$ git reset --hard fba77877
HEAD is now at fba7787 add a git instance
$ cat readme.txt
good git
git is a file version control system
good good study
Git git=new Git();
这里的commit id不需要输入全部,不过也不能太少,不然git会无法确定是那一个,HEAD指向commit id直接会返回到这个版本号。这些版本号git都是有记录的,我们通过git reflog来查找输入的命令,可以指向我们要返回的commit id
$ git reflog
fba7787 HEAD@{0}: reset: moving to fba77877
148ff70 HEAD@{1}: reset: moving to HEAD^
fba7787 HEAD@{2}: commit: add a git instance
148ff70 HEAD@{3}: commit: add good study
69a629d HEAD@{4}: commit (initial): create readme.txt file
总结命令
$ git log --pretty=online//查看提交的次数和commit id
$ git reset --hard HEAD^ //回到上一个版本
$ git reset --hard commit_id //返回某一个commit_id 的版本
$ git reflog //查看提交的命令
正确的步骤是 修改完后 使用 git add命令,再提交,如果重新修改后没有使用add命令,提交之后新修改的是不会提交的。
git 学习(2)--恢复版本的更多相关文章
- git学习2:版本库
创建版本库 版本库,又称仓库,英文名为repository,版本库内的所有文件都可以被Git管理起来,即每个文件的修改.删除,Git都能跟踪. 1,在目录中创建版本库 在目录中有两种创建版本库的方法, ...
- Git 学习之关于版本库
记得在第一次接触代码的时候,当对一些改动不是很确定的时候,我的做法就是在我的电脑上保留多个文件,分别以不同的名字来保存,以便于以后发现某个地方的带动是错误的好做修改,现在想想真是好笑啊. 慢慢的在工作 ...
- git学习之创建版本库(三)
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- git学习之创建版本库
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- git取消更改 恢复版本命令
#删除远程的xxx分支 git push origin :xxx #取消对文件的修改.还原到最近的版本,废弃本地做的修改. git checkout -- <file> #取消已经 ...
- Git学习一:基本用法
git config:配置相关信息 git clone:复制仓库 git init:初始化仓库 git add:添加更新内容到索引中 git diff:比较内容 git status:获取当前项目状况 ...
- Git学习之路(4)- 撤销操作、删除文件和恢复文件
▓▓▓▓▓▓ 大致介绍 经过前面的学习(小白学Git)已经建立了版本库,并上传了文件,这次来学习对这些文件进行基本的操作,即: ◆ 撤销操作 ◆ 删除文件 ◆ 恢复文件 我在此之前,已经将三个文件提交 ...
- Git 学习(四)操作修改和版本穿梭
Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...
- git 学习(3)文件删除恢复
git学习(3) 撤销编辑 如果我们在编辑版本a的时候,如果在没有add之前,发现需要重新编辑版本a怎么办呢,可以通过git reset --hard comm_id, commit_id是版本a的提 ...
随机推荐
- Decoration7:注册登录设计
首先顶一个小目标:从前台写入用户数据后,登录的时候输入用户名和密码,能够查询数据库成功,同时记录session数据 1.Login界面,为了只关注主线任务,我直接套用一个bootstrap模板admi ...
- 如何隐藏你的 Linux 的命令行历史
如果你是 Linux 命令行的用户,有的时候你可能不希望某些命令记录在你的命令行历史中.原因可能很多,例如,你在公司担任某个职位,你有一些不希望被其它人滥用的特权.亦或者有些特别重要的命令,你不希望在 ...
- javac使用笔记
一般写java都用的IDE,今天临时要测试一下JDK安装好没,就用了一下javac,结果各种不会用 目录 javac -help查到了有javac -sourcepath,他喵的我还以为这是查找sou ...
- FreeRTOS 消息队列
以下基础内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 的一个重要的通信机制----消息队列,初学者要熟练掌握,因为消息 ...
- Keil的使用方法(汇总)
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang 软件的开发 ...
- 常用的easyui使用方法之二
-------datagrid 1.获取某行的行号(row)tdg.datagrid('getRowIndex',rows)2.通过行号移除该行tdg.datagrid('deleteRow',ind ...
- jQuery Easyui Datagrid相同连续列合并扩展
/** * author ____′↘夏悸 * create date 2012-11-5 **/$.extend($.fn.datagrid.methods, { autoMergeCells : ...
- git 删除分之以及删除文件夹
1.删除分支 1.1查看所有分支: git branch -a 得到结果: 1.2删除HEAD分支 git push origin --delete HEAD 2.删除文件夹 2.1 查看本地分支下的 ...
- wifi的web 认证。
wifi的web 认证.wifidog+authpuppy+php 或者Wiwiz Auth API
- ELK显示多行日志
1.默认,logstash对日志文件的选取是以单行为单位的:但像log4j这种输出日志经常会是以时间头开始的多行日志: 2.显示多行,需要配置logstash的config: input { file ...