高级应用之一:

 

二分法查找错误版本:

当前日志

$
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高级应用的更多相关文章

  1. Git / 程序员需要知道的12个Git高级命令

    众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...

  2. 你需要知道的12个Git高级命令

    众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...

  3. 你需要知道的12个Git高级命令【转】

    转自:http://www.linuxidc.com/Linux/2016-01/128024.htm 众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git, ...

  4. 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 ...

  5. Git版本控制:Git高级教程

    http://blog.csdn.net/pipisorry/article/details/50669350 Git有很多命令行参数,使用起来非常方便.可以运行 man git log ,来看一下这 ...

  6. Git高级操作

    本文是在Git操作指南基础上衍生出来的高级操作,如果你对git不是很熟悉,建议你先阅读Git操作指南. 一.忽略提交特定文件 如果你不想让一些文件上传到git仓库中,可以让Git忽略特定文件或是目录, ...

  7. 几个常用的 Git 高级命令

    Git 是一款开源优秀的版本管理工具,它最初由 Linus Torvalds 等人开发,用于管理 Linux Kernel 的版本研发.相关的书籍和教程网上琳琅满目,它们多数都详细的介绍其基本的使用和 ...

  8. 3.git高级篇总结

    阅读 Git 原理详解及实用指南 记录 高级 1:不喜欢merge的分叉,用rebase吧 介绍的是 rebase 指令,它可以改变 commit 序列的基础点.它的使用方式很简单: git reba ...

  9. Git 高级用法,你会了吗?

    请注意我有意跳过了 git commit.git pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法. 导航 -- 跳到之前的分支 git checkout - 查看历史 ...

随机推荐

  1. .net中的Array,ArrayList和List

    Array:任意类型,定长 ArrayList:任意类型,不定长 List:特定类型,不定长 Array和ArrayList是通过存储object类型实现可以存储任意类型数据,使用时需要拆箱和装箱

  2. online web design tool

    https://webflow.com/ http://css-tricks.com/snippets/ https://www.fluidui.com/demos

  3. JavaScript的OOP编程2

    我做了一个observer的设计模式实现 version1 // -------------------------------------------------- function Subject ...

  4. uva 165 Stamps

    题意: 现有k种邮票面额, 一封信上最多贴h张邮票. 求能贴出的最大连续区间,即[1, max_value]这个区间内的所有面额都能贴出来. 并输出k种面额, h + k <= 9. 思路: 这 ...

  5. [转载]WCF 几种常见错误

    WCF标准的配置文件为: <system.serviceModel>         <services>             <service name=" ...

  6. 用Firefly创建第一个工程

    原地址:http://blog.csdn.net/uxqclm/article/details/10382097 安装完成之后,在python script包中就存在 firefly-admin的工具 ...

  7. PIL(Python Image Library)生成验证码

    # -*- coding: utf-8 -*-#导入三个模块import Image,ImageDraw,ImageFontimport randomimport math'''基本功能'''#图片宽 ...

  8. (重)POJ 3020Antenna Placement

    http://poj.org/problem?id=3020 呃...这个题不是很会,所以找了大神的博客做了参考,说得很详细 http://blog.csdn.net/lyy289065406/art ...

  9. php smarty insert用法

    insert用于模板中. 用法:{insert name="method_name"} 此时会寻找php文件中方法名为:insert_method_name的函数, 将其返回值作为 ...

  10. 关于Failed to convert property value of type [org.quartz.impl.StdScheduler] to required type [org.springframework.scheduling.quartz.SchedulerFactoryBean

    在一个业务类有下列属性 private SchedulerFactoryBeanscheduler; public SchedulerFactory BeangetScheduler() { retu ...