Git 常用命令 --- git diff命令
git diff 用于比较两次修改的差异。
1. 比较工作区与暂存区
git diff 不加参数即默认比较工作区与暂存区
2. 比较暂存区与最新本地版本库(本地库中最近一次commit的内容)
git diff --cached [<path>...]
3. 比较工作区与最新本地版本库
git diff HEAD [<path>...] 如果HEAD指向的是master分支,那么HEAD还可以换成master
4. 比较工作区与指定commit-id的差异
git diff commit-id [<path>...]
5. 比较暂存区与指定commit-id的差异
git diff --cached [<commit-id>] [<path>...]
6. 比较两个commit-id之间的差异
git diff [<commit-id>] [<commit-id>]
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文件,此时可以找到这些文件进行手动打补丁。
上一篇: java 基础杂记
下一篇: 关于php实例化问题 求大神指教
推荐阅读
-
Git相关命令
-
Git知识梳理及基础命令(你所要需要了解的内容基本都在这了)
-
git相关命令
-
git在webstorm中“不是内部或外部命令“”
-
vscode git commit 出现 ‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
-
安装git,解决"git 不是内部或外部命令,也不是可运行的程序"问题
-
Git入门-查看常用命令
-
gitlab-php-webhook - gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
-
git命令实践,git命令_PHP教程
-
shell 脚本中git 命令不生效