git的差异手册页说,工作树和索引或树之间git status与git diff在内部的工作方式有何不同,以显示未跟踪的文件?
显示的变化,如果两个Blob对象之间或指数和一棵树,两两棵树之间变化,变化之间变化磁盘上两个文件之间的变化。
我在这里对于未定义的文件与定义的粗体部分有关的困惑。 这里是我做过什么
touch test.html
git status
' 它显示
blr-mpjfs:workflow_manager amazumde$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
test.html
但是当我做git diff
没有显示在此处 如果我添加使用git add
git的差异文件显示差异
我看了一下Can I use git diff on untracked files? 还不确定。
因此,这里是我的问题“是否在工作 目录git的差异显示工作 树和指数未经跟踪/新创建的文件之间的区别”?
编辑
如果它不应该以示对未跟踪文件的差异,是不是 描述有点不清楚?是否有任何地方明确呼叫 ?
第二个编辑
而且多么不同,然后git的内部状态的作品比git的差异,以显示未跟踪文件?
完美!只是一个跟进问题。那么git状态如何工作? – 2015-03-03 12:18:47
'git status'基本上运行了两次比较:“HEAD vs index”告诉你进入下一次提交的设置,以及“index vs work-dir”来告诉你还没有设置什么。后者是特殊的,因此如果工作目录中有一个文件不在索引中,它可能*绘制一个“未跟踪”的投诉或“??”在'--short'输出中的状态(但是首先'git status'检查一个忽略/排除项)。因此,一个特定的案例(不是'git diff'本身)就是可以宣布“未跟踪”的地方。 – torek 2015-03-03 16:06:55