【开发工具 - 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指的是 ...
随机推荐
- BT5升级MSF至Git更新的方法
由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新, 但是新版本的MSF已经停止通过SVN更新,改用Git, ...
- FastCGI中文规范
http://fuzhong1983.blog.163.com/blog/static/1684705201051002951763/ . 介绍 FastCGI是对CGI的开放的扩展,它为所有因特网应 ...
- spring mvc 使用及json 日期转换解决方案
http://blog.csdn.net/z69183787/article/details/40375479
- MFC浅析(7) CWnd类虚函数的调用时机、缺省实现
CWnd类虚函数的调用时机.缺省实现 FMD(http://www.fmdstudio.net) 1. Create 2. PreCreateWindow 3. PreSubclassWindow 4 ...
- leetcode面试准备:Simplify Path
leetcode面试准备:Simplify Path 1 题目 Given an absolute path for a file (Unix-style), simplify it. For exa ...
- Python sh库学习 上篇
官方文档有句话"allows you to call any program",并且:helps you write shell scripts in Python by givi ...
- php 模拟斗地主发牌简单易懂
闲来无聊,就写了这个方法,也算是熟悉下php的数组操作,还请各位大神多指教.$arr 数组,好像有点问题,应该 2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑 ...
- proc 文件系统调节参数介绍
/proc/net/* snmp文件 Ip: ip项 Forwarding : 是否开启ip_forward,1开启,2关闭 DefaultTTL : IP默认ttl. In ...
- 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..如 ...
- C#排序算法的比较
首先通过图表比较不同排序算法的时间复杂度和稳定性. 排序方法 平均时间 最坏情况 最好情况 辅助空间 稳定性 直接插入排序 O(n2) O(n2) O(n) O(1) 是 冒泡排序 O(n2) O(n ...