【开发工具 - 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指的是 ...
随机推荐
- xxx couldn't be loaded because it has not been added to the build settings.
这个由于没有将进入场景放入Build Settings里面造成的.
- yiic 数据库迁移工具
数据库的结构也同源代码一样随着我们开发的进行而不断的发生着改变.在开发过程中,一般的我们需要像管理我们的源代码一样记录下数据库结构的整个变化过程,以便代码还原到指定版本后,数据库能同步的还原到指定的版 ...
- 【HDOJ】3660 Alice and Bob's Trip
就是一个基本的dfs.可关键问题是c/c++/g++光输入就超时了.还是写java过的,毕竟时限4s.都放弃希望了,没想到还真过了. import java.lang.*; import java.i ...
- Windows7 64下MinGW64/MSYS环境搭建
原文出处: CompileGraphics Magick, Boost, Botan and QT with MinGW64 under Windows 7 64 http://www.kinetic ...
- Problem A+B
Problem A+B Time Limit : 1000 MS Memory Limit : 65536 KB Description Calculate a+b Input Two ...
- MySQL 授权详解
(1)确认一下3306是否对外开放,mysql默认状态下是不开放对外访问功能的.查看的办法如下: 1 2 3 4 5 6 7 netstat -an | grep 3306 tcp 0 ...
- USACO3.23Spinning Wheels
直接枚举角度 数据比较水吧 /* ID: shangca2 LANG: C++ TASK: spin */ #include <iostream> #include<cstdio&g ...
- 利用switch case判断是今天的第多少天
static void Main(string[] args) { while (true) { int m1 ...
- Nagios "process_cgivars()" 单字节溢出漏洞
漏洞版本: Nagios Nagios 4.x Nagios Nagios 3.x 漏洞描述: Nagios是一款免费开放源代码的主机和服务监视软件,可使用在多种Linux和Unix操作系统下. Na ...
- CDN原理
要了解CDN的实现原理,首先让我们来回顾一下网站传统的访问过程,以便理解其与CDN访问方式之间的差别: 由上图可见,传统的网站访问过程为:1. 用户在浏览器中输入要访问的域名:2. 浏览器向域名解析服 ...