zoukankan      html  css  js  c++  java
  • 简单明了的掌握diff命令? 参考: http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html

    diff是比较两个 文本文件, 或目录,(中名字相同的文件)
    diff 是按行来比较的, 只要两个对应的行, 不完全一致, 就报告为不同, 否则就视为相同. (一行中任意一点的不同...)

    检查时, 指定选项:(只要有这三个)
    -b或--ignore-space-change  不检查空格字符的不同。
    -B或--ignore-blank-lines  不检查空白行。
    -i --ignore-case : 检查时,忽略大小写
    -w 忽略全部的空格字符

    主要有 四种比较显示 方式

    第一. 是普通 的显示方式 --normal 这是默认的 (相同的行不显示, 只显示不同的行...)
    第二. 是 并排显示的 : -y, -W 80

    而显示报告不同的 情形 无非只有 三种:
    一是 两行比较时, 有不同, 二是 前面的文件比后面的文件对应的行要多, 三是 前面的文件比后面的文件 行要 少.
    所以 :

    普通显示时: 有 三个符号 : 用 c表示 不同, 即: change, 有变化; a表示 add, 即前面的文件file1 比 后面的文件file2 多一行到n行; d表示delete, 即前面的比后面的要少.

    并排比较时, 也有三种对应的符号: | 表示change, < 表示add, > 表示 delete ....

    第三, 是 上下文输出显示方式, 即, 先输出第一个文件的连续行, 然后输出 第二个文件的 连续行(不同的地方), 所以叫上下文. (这个是 加州大写伯克利分校推出BSD版本时 觉得默认格式
    太简单了, 需要加入显示上下文的信息, 更详细了解变化情况.

    格式是: diff old new -c: -c 表示 context 上下文. 输出方式; 或者叫(前后 输出 方式) (每一行的行首 标记位: ! 标识不同, - 标识这一行被删除, +标识这一行新增的)

    第四, 是统一 /合并 输出方式 -u表示 unified. unified. 即 将 两个文件相同的行只 显示一次, 而不同的行 前后一行挨着显示.
    diff old new -u

    第3, 4 种方式, 总是 先生成 两个文件的 说明信息, 标识 符号 用 +++ --------- *** 来标识...


    要理解diff, 就要理解diff产生的背景和作用, 他是unix 用来进行代码管理的基石. 是通过比较 版本变化前后的文件的区别, 来生成patch补丁文件, 进行版本控制和复原的.

    格式是: diff <version1, 版本变化前的文件> ( version2, 版本变化后的文件) > patchfile.

    即;:: 通过 diff 得到 补丁文件 patchfile

    然后 根据 file1 和 patchfile 来 将 file1, 打补丁到file2: patch file1 patchfile

    或者通过 file2 和patchfile 来回复到file1: patch -R file2 patchfile.
    格式 总是 :patch [ oldfile | -R newfile] patchfile

    通常 用 ----- 或 **** 表示 变动 前的版本, 而 +++ 表示 变动后的 版本....

    git格式的 diff: 默认使用的是 unified 格式的显示(unified 主要用于 相差很小 高度相似的 两个文件....!!!

    diff --git a/f1 b/f2....

    ....

    php的 接口中的函数, 不必使用 abstract. 直接 使用: public function 就可以了, 不必加abstract.

    interface IFoo{
        public function f1(...);
        public function f2(...);
    }
    
    

    接口既可以被 普通类 来 实现implements, 也可以被 其他接口 来继承 extens.

    也就是说 一个类要 实现多个接口, 有两种方式, 一种是直接实现 多个接口 : class c implements a , b {..}, 另一种是, 先让接口多个 逐渐多层次的 继承, 然后让普通类 只实现最后的 接口: interface b extends a {} , interface c extends b {...}, class d implements c{...}.

    实现接口的普通类 本身 是可以包含 其他 成员变量 , 和其他普通方法的...

    php中的常量 一是不能用 $ 符号; 二是要用 const 来 限制, 比如: const Pi=3.14; 类里面也可以定义 常量成员: class Foo {const Pi = 3.14} 引用时 Foo::Pi

  • 相关阅读:
    unity3d 启用某层设置
    Unity同 iOS,Android数据交互
    Unity发布EXE去掉边框生成安装程序的最简单方法
    判断物体相对自己的方位
    相机Culling Mask 用法
    LitJson 用法
    Unity3d Attribute 总结
    unity3d shader 预定义着色器预处理宏
    (转)傅里叶分析 变换等
    Shaders: ShaderLab & Fixed Function shaders
  • 原文地址:https://www.cnblogs.com/bkylee/p/7811503.html
Copyright © 2011-2022 走看看