zoukankan      html  css  js  c++  java
  • 【git】Git diff 常见用法

    Git diff

         用于比较两次修改的差异

        1.1 比较工作区与暂存区

          git diff 不加参数即默认比较工作区与暂存区

        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文件,此时可以找到这些文件进行手动打补丁 

  • 相关阅读:
    C/C++数组名与指针区别深入探索(转)
    mysql 的编译安装
    rpm的问题 ~/.rpmmacros %_rpmlock_path
    GCC中的弱符号与强符号(转)
    关于printf系列函数
    如何修改机器名
    multiple definition of XXXX 的解决
    由无名对象(临时对象)引发的关于“引用”的思考
    关于date中时间字符串的格式
    月薪不同,面试题不同!
  • 原文地址:https://www.cnblogs.com/opensmarty/p/11044706.html
Copyright © 2011-2022 走看看