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的提 ...
随机推荐
- Struts2初学 struts2自定义类型转换器
一.问题的引出 Struts2的类型转换是基于OGNL表达式的,由于请求的参数都是字符串,而JAVA 本身属于强类型的的语言,这样就需要把请求参数字符串转换成其他类型. Struts ...
- JS 利用正则表达式替换字符串
JS 利用正则表达式替换字符串 博客分类: JavaScript 学习资料 Java代码 收藏代码 JS 利用正则表达式替换字符串 var data = "123123,213,12312, ...
- filter从web.xml读取config的时候中文编码问题
首先,web.xml中不建议出现超出ASCII范围的字符 但是作为一点积累,简单举个例子如下,其核心代码就是new String(String.getBytes(charset_1), charset ...
- 一款基于jquery的喜欢动画按钮
今天给大家带来一款基于jquery的喜欢动画按钮.这个实例中给了三种动画特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <p class='heading'> C ...
- 数据库 Proc编程二
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...
- 以下( )可用于检索session属性userid的值。
A.session. getAttribute (“userid”); B.session. setAttribute (“userid”); C.request. getParameter (“us ...
- HttpServlet中,用来处理POST请求的方法是(选择1项)
HttpServlet中,用来处理POST请求的方法是(选择1项) A. doHead B. doGet C. doPost D. doPut 解答:C
- hdu 5065 数学题
#include<iostream> #include<cmath> #include<cstdio> using namespace std; int A,B,y ...
- EF报LINQ to Entities 不识别方法“Web_JZRepository.Models.copy_materials_details get_Item(Int32) ”,因此该方法无法转换为存储表达式。
说明用了如 List<T> list=new List<T>(); je.copy_materials_details.SingleOrDefault(x => x.ID ...
- hdu 1358:Period(KMP算法,next[]数组的使用)
Period Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...