Discuss / Git / diff

薄葬殘香

#1 Created at ... [Delete] [Delete and Lock User]

git diff <file name>应该看得是工作区该文件与版本库中当前分支上该文件之间的差异

不一定,还可能是缓存区和仓库的区别,或者工作区和缓存区的区别。官网是这么说的:git-diff - Show changes between commits, commit and working tree, etc

查看版本和版本,以及版本和工作区的区别,这个版本可能在缓存区,也可能在仓库的当前分支。但是,在实际操作上,在把文件暂存到缓冲区前,查看下在工作区中做了那些修改,似乎是更合理的操作。

  • 要明白这3个概念,工作区(working tree),暂存区(index /stage),本地仓库(repository

  • git跟不同的参数,比较不同的区间的版本。

  1. git diff:是查看working tree与index的差别的。
  2. git diff --cached:是查看index与repository的差别的。
  3. git diff HEAD:是查看working tree和repository的差别的。其中:HEAD代表的是最近的一次commit的信息。

  综上所述:git diff 后面跟文件名称是是查看工作区(working tree)与暂存区(index)的差别的。

yamengchang

#4 Created at ... [Delete] [Delete and Lock User]

赞,试了一下,你说的是正确的


  • 1

Reply