Git diff

     用于比较两次修改的差异

    1.1 比较工作区与暂存区

      git diff  比较的是单个仓库的工作区与暂存区的差别,repo diff是对git diff的封装,用来分别显示各个项目工作区下的文件差异, 它也可以加入路径 git diff [<path>...],一般不加路径,表示为当前仓库

    1.2 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)

      git diff --cached  [<path>...]

    1.3 比较工作区与最新本地版本库

      git diff HEAD [<path>...]  如果HEAD指向的是master分支,那么HEAD还可以换成master

    1.4 比较工作区与指定commit-id的差异

      git diff commit-id  [<path>...]

    1.5 比较暂存区与指定commit-id的差异

      git diff --cached [<commit-id>] [<path>...]

    1.6 比较两个commit-id之间的差异

      git diff [<commit-id>] [<commit-id>]

    1.7 使用git diff打补丁

      git diff > patch //patch的命名是随意的,不加其他参数时作用是当我们希望将我们本仓库工作区的修改拷贝一份到其他机器上使用,但是修改的文件比较多,拷贝量比较大,

      此时我们可以将修改的代码做成补丁,之后在其他机器上对应目录下使用 git apply patch 将补丁打上即可

      git diff --cached > patch //是将我们暂存区与版本库的差异做成补丁

        git diff --HEAD > patch //是将工作区与版本库的差异做成补丁

      git diff Testfile > patch//将单个文件做成一个单独的补丁

    拓展:git apply patch 应用补丁,应用补丁之前我们可以先检验一下补丁能否应用,git apply --check patch 如果没有任何输出,那么表示可以顺利接受这个补丁

       另外可以使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁 

    1.8 关于作者

      姓名:张坤武

      邮件:1498462303@qq.com

Git diff 常见用法的更多相关文章

  1. git diff的用法

    在git提交环节,存在三大部分:working tree(工作区), index file(暂存区:stage), commit(分支:master) working tree:就是你所工作在的目录, ...

  2. git diff 的用法

    git diff 对比两个文件修改的记录 不带参数的调用 git diff filename 这种是比较 工作区和暂存区 比较暂存区与最新本地版本库 git diff --cached filenam ...

  3. git diff 命令用法

    理解git diff的前提,首先要理解git中工作区,暂存区,本地版本库的概念,如果头脑中有这些概念,接着往下读. git diff test.c 用来查看工作区和暂存区中test.c文件的区别. g ...

  4. GIT 的常见用法

    git init 新建代码库 git clone新建项目 git branch 查看分支 git config 显示配置 git config -e 显示配置文件 git config user.na ...

  5. Git push 常见用法

        Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,g ...

  6. Git commit 常见用法

        Git commit git commit 主要是将用户通过git add命令添加到暂存区里的改动给提交到本地的版本库,关于版本库的构成可以查看我先前的笔记. 每次提交我们都会在本地版本库生成 ...

  7. Git stash 常见用法

    Git stash git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复 1.1 git stash  保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时 ...

  8. Git add 常见用法

        Git add   git add [参数]  [--] <路径> //作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用gi ...

  9. Git branch 和 Git checkout常见用法

    git branch 和 git checkout经常在一起使用,所以在此将它们合在一起 1.Git branch 一般用于分支的操作,比如创建分支,查看分支等等, 1.1 git branch 不带 ...

随机推荐

  1. Codeforces Round #252 (Div. 2) A - Valera and Antique Items

    水题 #include <iostream> #include <set> #include <vector> #include <algorithm> ...

  2. ACM: poj 1094 Sorting It All Out - 拓扑排序

    poj 1094 Sorting It All Out Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%lld & ...

  3. ACM:POJ 2739 Sum of Consecutive Prime Numbers-素数打表-尺取法

    POJ 2739 Sum of Consecutive Prime Numbers Time Limit:1000MS     Memory Limit:65536KB     64bit IO Fo ...

  4. [Leetcode] Next Permutation

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...

  5. 学习js正则表达式

    function UrlRegEx(url) { //如果加上/g参数,那么只返回$0匹配.也就是说arr.length = 0 var re = /(\w+):\/\/([^\:|\/]+)(\:\ ...

  6. SQLSERVER的NULL

    判断数据库中某个值是否为null(而不是'null',空字符串'',若干个空格' ') 一定不能用=null 或 !=null,而要用is null 或 is not null. 在sqlserver ...

  7. Maven with Multi-module

    Well, A project made of multi modules. For example, the hongten-security project, the structure of t ...

  8. Flash与JS之间相互调用以及参数传递

    [AS3]ExternalInterface.call传多个参数的写法代码示例 import flash.text.TextField; ; ; var result:uint = ExternalI ...

  9. php链接数据库

      1:找到 ySQL服务器 $conn = mysql_connect("localhost","","") or die("链 ...

  10. mysql相似于oracle的to_char() to_date()方法

    mysql日期和字符相互转换方法, date_format(date,'%Y-%m-%d')  -------------->oracle中的to_char(); str_to_date(dat ...