git高级应用
高级应用之一:
二分法查找错误版本:
当前日志
$
git log --oneline
ccda9d2 added test1
dd518f7 test zu
88095f9 dasfdasf
3dc0ec9 first ok
启动查找
$ git bisect start
标志当前版本为坏版本
$ git bisect bad
标志某个好版本作为起点
$ git bisect good 3dc0ec9
Bisecting: 0 revisions left
to test after this (roughly 1 step)
[dd518f77d5a48624965f2c88d1b7a7ddb3095556]
test zu =》 自动跳转到中间版本
$ git log --oneline
88095f9 dasfdasf
3dc0ec9 first ok
如果当前版本为坏版本,标志他
$ git bisect bad
Bisecting: 0 revisions left
to test after this (roughly 0 steps)
[88095f941af6e4a5aca06b33b40818bce7431636]
dasfdasf =》 自动跳转到中间版本
如果当前版本为好版本,标志他
$ git bisect good
dd518f77d5a48624965f2c88d1b7a7ddb3095556
is the first bad commit =》 找到第一个坏版本并继续打印坏版本修改概要
commit
dd518f77d5a48624965f2c88d1b7a7ddb3095556
Author: Xiaofeng Zu
<xiaofeng.zu@gmail.com>
Date: Sun Sep 28 17:08:18 2014 +0800
test zu
:100644 100644
e5a209a255a7744382daef6a1335dcd8b629d9cc
0f552bfb85849fc12d5abcd9b701481acfdf25f7 M
test.c
如果需要,可以用下面命令切换到第一个坏版本
$ git checkout bisect/bad
Previous HEAD position was
88095f9... dasfdasf
HEAD is now at dd518f7...
test zu
查找结束,复位
$ git bisect reset
高级应用之二:
查看任何文件的历史版本并转存
git show 提交ID:文件路径
> 转存文件路径
查看某个文件的修改记录
git log <文件路径>
git blame <文件路径>
全部或某个文件切换到历史版本
git checkout <提交ID>
git checkout <提交ID>
-- <文件路径>
git高级应用的更多相关文章
- Git / 程序员需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 你需要知道的12个Git高级命令
众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...
- 你需要知道的12个Git高级命令【转】
转自:http://www.linuxidc.com/Linux/2016-01/128024.htm 众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git, ...
- Git - 高级合并
Git - 高级合并https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%AB%98%E7%BA%A7%E5%90%88%E5%B9%B6 ...
- Git版本控制:Git高级教程
http://blog.csdn.net/pipisorry/article/details/50669350 Git有很多命令行参数,使用起来非常方便.可以运行 man git log ,来看一下这 ...
- Git高级操作
本文是在Git操作指南基础上衍生出来的高级操作,如果你对git不是很熟悉,建议你先阅读Git操作指南. 一.忽略提交特定文件 如果你不想让一些文件上传到git仓库中,可以让Git忽略特定文件或是目录, ...
- 几个常用的 Git 高级命令
Git 是一款开源优秀的版本管理工具,它最初由 Linus Torvalds 等人开发,用于管理 Linux Kernel 的版本研发.相关的书籍和教程网上琳琅满目,它们多数都详细的介绍其基本的使用和 ...
- 3.git高级篇总结
阅读 Git 原理详解及实用指南 记录 高级 1:不喜欢merge的分叉,用rebase吧 介绍的是 rebase 指令,它可以改变 commit 序列的基础点.它的使用方式很简单: git reba ...
- Git 高级用法,你会了吗?
请注意我有意跳过了 git commit.git pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法. 导航 -- 跳到之前的分支 git checkout - 查看历史 ...
随机推荐
- (转载)Delphi TStringList的用法
Delphi TStringList的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. TStringList 常用方法与属性: var List: TStringL ...
- 响应式布局中重要的meta标签设置.适用于手机浏览器兼容性设置
<!-- #手机浏览器兼容性设置 --> <meta content="application/xhtml+xml;charset=UTF-8" http- ...
- stream的Read、Write方法实例
, bytes.Length)) > ) , readBytes-);//8为偏移量,10为数量 } } ...
- Lucene基础(二)--索引的操作
索引的操作 我们建立所有就是要达到快速检索的目的,对数据能够方面便的查找,和数据库类似,索引也有自己的相关增删改查的操作. 在索引的增删改查中,增删改属于写操作,主要是有IndexWrite提供的方法 ...
- 在类库中无法使用ConfigurationManager
需要先引用DLL文件: C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll 然后才可以使用 System.Co ...
- 几种 Docker 监控工具对比
轻量级虚拟化容器 Docker,自发布以来便广受业界关注,在开源界和企业界掀起了一阵风.Docker 容器相对于 VM 有以下几个优势:启动速度快:资源利用率高:性能开销小. 从图中可以看出 Dock ...
- 使用JProfiler进行内存分析
在最近的工作中,通过JProfiler解决了一个内存泄漏的问题,现将检测的步骤和一些分析记录下来,已备今后遇到相似问题时可以作为参考. 运行环境: Tomcat6,jdk6,JProfiler8 内存 ...
- float 和 real
用于表示浮点数值数据的大致数值数据类型.浮点数据为近似值:因此,并非数据类型范围内的所有值都能精确地表示. 注意: real 的 SQL-92 同义词为 float(24). 数据类型 范围 存储 ...
- Android TabActivity与Activity之间的动画跳转(主要Tabhost中跳转出来的动画效果解决)
首先,要说的是ActivityA到ActivityB的切换这个相对简单,只要overridePendingTransition(In,out). 这里不就说了.但是这里要说名的ActivityA不能T ...
- perl的输出缓冲
今天写一个小脚本的时候,需要即时输出当前进度到命令行上,并即时将重要数据写入报告文件中.但是perl默认是有输出缓冲的,显示到命令行上必须以\n结尾才行,输出到文件中,回车了都不行,非得要等缓冲区 ...