`
songkang666
  • 浏览: 105556 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Git step by step 12 之二进制文件

    博客分类:
  • GIT
 
阅读更多
二进制文件的识别
很多文件都会被Git自动识别为二进制文件,如doc,jpg等。
在进行git diff 操作时(当前工作目录与暂存区的内容不相同时),会有类似于下面的显示:
git diff
diff --git a/what.doc b/what.doc
index xxxxxxxxxx 100644
Binary files a/what.doc and b/what.doc differ


git diff
diff --git a/png.jpg b/png.jpg
index b6884cd..a2bd99b 100644
Binary files a/png.jpg and b/png.jpg differ

所以Git对于二进制文件是有识别能力的,且能鉴别二进制文件有没有被修改。

但是想要具体的显示出什么地方被改了,还需要Git属性的设置,并借助于一些外部工具。
像识别.doc文件时,可以先在工作目录(的根目录)中建立.gitattributes文件,用于Git属性
的设置。
然后再用git config XXX向.git/config文件时写一些配置参数。

自定义 Git - Git属性 里有相应的介绍。
(它的英文版本介绍的更详细些: Customizing Git - Git Attributes)(注意反强)
其中介绍说,操作分两步:
1、在.gitattributes文件中添加 *.doc diff = word,意思是在处理以.doc为后缀的文件时用word过滤器(这是个什么东西?)进行处理。
2、git config diff.word.textconv strings,意思是用strings(/usr/bin/strings)外部工具将word文档转变成text文本文件。
然后再git diff时,会显示哪一行被修改了。

可是,可是,按照这个方法有点行不通,换了几个版本库进行实验,结果都git diff不出来任何东西,甚至是在不进行配置时的differ信息也没了,坑爹。或许是版本问题,抽空看一下README在这一方面改动的介绍。

此外,像png所用到的外部工具exiftool,apt-get install时也搜不到的。


more:
Versioning Word Documents In Git
windows下cygwin中Git diff Word documents(这个看上去好像可以)
自定义 Git
分享到:
评论

相关推荐

    毕业设计项目,一个简单的STEP文件解析器.zip

    对于STEP文件,解析器需要识别AP203或AP214等应用协议,并能够处理ISO-10303-21的ASCII或二进制表示。 2. **数据结构与算法**:解析过程中可能涉及到链表、树、图等数据结构,用于存储和操作解析出的几何和非几何...

    LINUXCNC源程序原理说明.pdf

    * bin:存储用户模式下的二进制文件 * configs:存储配置文件,包括: + 5axis:五轴机器人的配置文件 + boss:BOSS机器人的配置文件 + common:通用配置文件 + dallur-thc:Dallur-THC机器人的配置文件 + demo...

    DBeaver的安装文件

    在提供的压缩包中,有两个关键文件:DBeaver的exe文件和二进制文件压缩包。exe文件是Windows操作系统下的可执行文件,它提供了一种简单的安装方式,适合那些希望快速启动和运行DBeaver的用户。只需双击这个文件,...

    IAR Setp-by-setp

    这包括创建新项目、导入外部源码、设置编译器选项、链接器配置以及生成可烧录的二进制文件。对于初学者来说,理解这些基本操作至关重要,因为它们构成了整个开发流程的基础。 接下来,教程会深入讲解如何使用IAR的...

    Auto-DL:Auto-DL 可帮助您制作深度学习模型,而无需编写一行代码并尽可能少地提供输入

    演示设置安装所有必要的库和二进制文件sudo ./scripts/install.sh 按照在本地运行BackEndApp和FrontEndApp ,或者让它 RIP! ./scripts/run.sh# or you can pass --install to perform both step 1 and 2./scripts/...

    Linux下bochs安装及使用

    如果你有NASM汇编代码,可以将其转换为二进制文件,然后在Bochs中加载。例如,有一个名为`hello.asm`的源文件,先用NASM编译: ```bash nasm -f elf32 hello.asm ld -m elf_i386 -o hello hello.o ``` 然后在`my_...

    crVAE:[WACV2018]用于图像建模的通道循环自动编码

    MNIST文件(二进制文件和动态文件)都可以从下载。 训练 要使用基准VAE-GAN训练鸟类, th main.lua -data /path/to/Birds/ -save /path/to/checkpoints/ -alpha 0.0002 -beta 0.05 -LR 0.0003 -eps 1e-6 -mom 0.9 ...

    waf编译环境的介绍文档(英文版)

    - 访问官方提供的下载页面,下载最新版本的 WAF 二进制文件。 - 将下载好的文件解压至合适的目录,并确保该目录包含在系统的 `PATH` 环境变量中,以便可以在命令行中直接调用 `waf` 命令。 - **2.1.2 从源代码...

    keilG-maste笔记

    链接过程将汇编代码与库文件合并生成可执行二进制文件。 6. **调试工具**:Keil μVision的调试器是其强大之处。可以设置断点、查看变量值、单步执行、模拟器运行等。通过"Debug"菜单启动调试会话,使用"Run to ...

    vb代码设计

    7. **文件操作**:VB可以读写文本文件、二进制文件,以及进行数据库交互。了解如何使用Open、Close、Input#、Write#等语句对文件进行操作是VB编程的重要部分。 8. **接口与组件**:VB可以使用.NET Framework提供的...

    258219:在Stepin模块#2中用于日常练习的Python练习代码

    6. **文件操作**:学习如何读写文件,处理文本或二进制数据。 7. **标准库使用**:例如os模块用于操作系统交互,sys模块用于系统相关操作,math模块提供数学函数,json模块用于数据序列化等。 8. **数据结构与算法...

    gdb 软件调试使用手册

    手册涵盖了连接到远程目标、传输二进制文件以及处理网络通信的细节。 调试多线程程序是现代软件开发中常见的挑战。gdb提供了管理线程的功能,用户可以切换线程、查看每个线程的状态,并在不同线程间设置断点。 ...

    keil教程.rar

    - 下载程序:"Target" -> "Download",将编译后的二进制文件下载到目标设备。 - 在线调试:使用μVision的监控窗口观察变量值、执行流程等。 7. **项目配置** - 配置中断向量表:"Target" -> "Option for Target...

    汇编编译连接调试工具

    1. **汇编器(Assembler)**:汇编器是将汇编语言源代码转换成机器可执行的二进制目标代码的工具。在提供的文件列表中,`MASM.EXE` 是Microsoft的汇编器,主要用于Windows环境。在Linux下,常见的汇编器是`NASM`...

    StepFileAnalyzer

    这可能涉及到二进制或文本数据的解析,以及对文件头、数据块等结构的理解。 3. **数据结构与序列化**:为了存储和处理解析出的数据,可能使用了Python的数据结构,如列表、元组、字典或自定义对象。同时,解析后的...

    C#经典案例(28个)

    8. **文件和流**:学习读写文件、处理二进制数据以及网络流,实现数据持久化和传输。 9. **委托和事件**:掌握事件驱动编程,理解委托的用途以及事件的发布和订阅。 10. **异步编程**:理解async/await关键字,...

    DeepShift:实施“ DeepShift

    训练模型的二进制文件 代码遍历 概述 DeepShift的主要思想是测试使用按位移位进行训练和推断的能力。 我们提出2种方法: DeepShift-Q:与常规网络一样,参数都是浮点权重,但是在前进和后退过程中,权重均舍入为...

    PCAS示例代码

    4. **文件I/O操作**:为了读取和保存零部件数据,代码中会有文件输入输出(I/O)操作,包括XML、JSON或自定义二进制格式的解析和序列化。 5. **用户界面设计**:展示零部件可能涉及到GUI(图形用户界面)设计,使用...

    mingw32编译的在windows上运行arm和mips架构的gdb

    这个版本的GDB可以理解并调试特定架构的二进制代码。 为了远程调试,目标设备上需要运行GDB Server。GDB Server是一个轻量级的进程,它可以接收来自GDB客户端的调试请求,并在目标设备上执行相应的操作,如设置断点...

Global site tag (gtag.js) - Google Analytics