高级应用之一:

 

二分法查找错误版本:

当前日志

$
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. python import

    在执行 import module 时 会从 1 当前目录 2 pythonpath(可以通过 os.sys.path 查看) 3 python 安装目录   b import 了 a, c impo ...

  2. Node.js和MongoDB - MongoJS入门

    第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...

  3. about compiler synergy

    ---恢复内容开始--- you can read this page: link->; you hava insalled Cmake on you window system. of cao ...

  4. Python Socket,How to Create Socket Cilent? - 网络编程实例

    文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...

  5. 开发设计模式(四) 代理模式(Proxy Pattern)

    转自http://blog.sina.com.cn/s/blog_89d90b7c0101803g.html 代理模式:代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问.在某些情况下, ...

  6. 洛谷 P1064 金明的预算方案

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”.今 ...

  7. pair work-Elevator Schedule附加题

    [电梯调度算法的实现和测试] [附加题] 首先,我要感谢周敏轩同学和薛亚杰,吴渊渊小组.UI的编写是在两个小组成员的共同努力下完成的,希望在第二次结对编程中能够再一起对UI界面进行更新和完善.UI编写 ...

  8. dos下的edit命令使用详解

    dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...

  9. Ubuntu中PyCharm中字体设置

    在Ubuntu安装的PyCharm与Windows不同,除了Editor中的字体.配色需要设置外,文件操作栏(File--Edit--View--Navigate--Code--Refactor--- ...

  10. Matlab实现K-Means聚类算法

    人生如戏!!!! 一.理论准备 聚类算法,不是分类算法.分类算法是给一个数据,然后判断这个数据属于已分好的类中的具体哪一类.聚类算法是给一大堆原始数据,然后通过算法将其中具有相似特征的数据聚为一类. ...