我引用一个git教程:
git diff shows the diff between HEAD and the current project state
Run Code Online (Sandbox Code Playgroud)
我想知道这意味着什么.HEAD不是目前活跃的项目吗?
谢谢
Von*_*onC 110
从" 指定修订 "
HEAD
命名您基于工作树中的更改的提交.
还有其他头(FETCH_HEAD
,ORIG_HEAD
和MERGE_HEAD
).请参阅Jefromi的答案.
问题是,默认情况下git diff
实际显示"项目的当前状态"(即工作树上的文件)和索引(不是HEAD)之间的差异.
换句话说,差异是你可以告诉git进一步添加到索引但你还没有.
如果你这样做git diff --cached
,那么它会将索引与HEAD进行比较.
有关更多信息,请参阅git book(存档链接):
一个常见的用途就是简单地运行
Run Code Online (Sandbox Code Playgroud)$ git diff
这将显示工作目录中尚未为下一次提交暂存的更改.如果要查看下一次提交的暂存内容,可以运行
Run Code Online (Sandbox Code Playgroud)$ git diff --cached
这将显示索引和上次提交之间的区别; 如果你在没有"-a"选项的情况下运行"git commit",你会提交什么.(在Git版本1.6.1及更高版本中,您也可以使用
git diff --staged
哪些可能更容易记住.)最后,您可以运行Run Code Online (Sandbox Code Playgroud)$ git diff HEAD
它显示自上次提交以来工作目录中的更改; 如果你运行"git commit -a",你会提交什么.
归档时间: |
|
查看次数: |
50730 次 |
最近记录: |