git diff
使用–stat参数表示仅显示统计信息, 而不显示具体的差异
-
git diff [
<options>] --no-index [--]<path><path>显示文件系统上两个文件的差异, 当两者至少一个文件在git管理下, 或者在git 仓库中运行该命令, 你可以省略–no-index参数
-
git diff [
<options>] [--] [<path>…] 显示工作区和暂存区的差异 -
git diff [
<options>] --cached/–staged[<commit>][--][<path>...]显示暂存区和提交版本的差异, commit默认为HEAD, --cached和–staged同义
# 显示暂存区中readme.md和上次提交的差异 git diff --cached HEAD readme.md git diff --cached readme.md git diff --staged readme.md # 显示暂存区中readme.md和上上次提交的差异 git diff --cachd HEAD^^ readme.md -
git diff [
<options>]<commit>[--] [<path>...]`-
显示工作区与提交版本的差异
# 显示工作区与上次提交的差异, 也就是显示待提交的内容 git diff HEAD # 显示工作区中readme.md与上次提交时的差异 git diff HEAD readme.md # 显示工作区中readme.md与上上次提交时的差异 git diff HEAD^ readme.md -
也可以表示分支名, 此时显示的是当前分支工作区与分支最近一次提交的差异
# 显示工作区中readme.md与test分支最近一次提交的差异 # 该命令不加--的话是有歧义的, 有可能你是想比较test和readme.md的差异 git diff test -- readme.md # 显示工作区与test分支最近一次提交 # 该命令不加--是有歧义的, 有可能你是想比较工作区的test和暂存区中的test文件 git diff test --
-
-
git diff [
<options>]<commit><commit>[--] [<path>...]git diff [<options>] <commit>..<commit> [--] [<path>...]-
当commit为提交版本时, 比较两个版本差异
# 把上次提交的readme.md和上上次提交的readme.md相比较 git diff HEAD HEAD^ readme.md # 把上次提交和上上次提交相比较 git diff HEAD HEAD^ readme.md需要注意的是git diff HEAD HEAD^和git diff HEAD^ HEAD是不同的结果
当我们在readme.md中添加一行 11111并且提交 git diff HEAD HEAD^ readme.md 显示 +11111 git diff HEAD^ HEAD readme.md 显示 -11111 -
当commit为分支名时, 比较两个分支的差异,
# 把test分支和dev分支相比较 # --不能省略, 否则有歧义 git diff test dev -- #把test分支的readme.md和dev分支的readme.md相比较 git diff test dev -- readme.md需要注意的是git diff test dev – 和git diff dev test --是不同结果的
-
-
git diff [<options>] <commit1>...<commit2> [--] [<path>...]查看输出自commit1和commit2分别开发以来,commit2分支上的变更。两者必须有共同的祖先
# 现有分支dev, 内有一个readme.md git checkout -b test # 创建一个test branch, 现在两个分支readme.md一样 # 在dev分支上的readme.md添加一行11111并提交, test分支上的readme.md不修改 git diff test...dev readme.md # 显示+11111 git diff dev...test readme.md # 显示没有差异, 因为test和dev分来以后, test分支上的readme.md没有被修改
524

被折叠的 条评论
为什么被折叠?



