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 - 查看历史 ...
随机推荐
- Python 基础篇:数据类型、数据运算、表达
1. 数据类型 1.1 数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-231-231-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取 ...
- C++ 实现设计模式之观察者模式
1. 什么是观察者模式? 观察者模式(有时又被称为发布-订阅Subscribe>模式.模型-视图View>模式.源-收听者Listener>模式或从属者模式)是软件设计模式的一种.在 ...
- 利用jquery的imgAreaSelect插件实现图片裁剪示例
http://www.cnblogs.com/mizzle/archive/2011/10/13/2209891.html 将用户上传的图片进行裁剪再保存是现在web2.0应用中常常处理的工作,现在借 ...
- 9.MVC框架开发(关于ActionResult的处理)
1.在Action处理之后,必须有一个返回值,这个返回值必须继承自ActionResult的对象 2.ActionResult,实际就是服务器端响应给客户端的结果 ViewResult(返回视图结果) ...
- online web design tool
https://webflow.com/ http://css-tricks.com/snippets/ https://www.fluidui.com/demos
- Mongodb FAQ fundamentals(基础篇)
Mongodb FAQ(基础篇),是官方文档的翻译.如有翻译不到之处,还请谅解. 1.Mongdb是什么数据库? mongodb是一个面向文档(document)的数据库,既不支持表连接,也不支持事务 ...
- 条件编译用法(#ifndef #define #endif#else)
1. 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西.比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题 ...
- CSS 背景颜色
颜色背景 CSS中背景颜色由background-color决定,这里的背景颜色会渲染padding和content,不会渲染border和margin部分. 在css3中可以通过background ...
- c++中的static关键字
1.在函数体中,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变. 2.在模块内(但在函数外),比如在某一个C源文件内,一个被声明为静态的变量可以被该模块内的所有函数调用,但不能被模块外的函 ...
- BT5之配置笔记
BT5本来就是用Ubuntu 10.04做得蓝本,所以,我在配置BT5的时候,基本上都是按照Ubuntu 10.04的配置方法,在配置BT5 1 系统基本设置 1.1 安装Ubuntu10.0 ...