git状态与git diff在显示未跟踪文件方面的内部工作方式有多大不同?
Git diff手册页上说 显示工作树与索引或树之间的更改、索引与树之间的更改、两棵树之间的更改、两个blob对象之间的更改或磁盘上两个文件之间的更改 在这里,我对定义中粗体部分的未跟踪文件有点困惑。 这就是我所做的git状态与git diff在显示未跟踪文件方面的内部工作方式有多大不同?,git,Git,Git diff手册页上说 显示工作树与索引或树之间的更改、索引与树之间的更改、两棵树之间的更改、两个blob对象之间的更改或磁盘上两个文件之间的更改 在这里,我对定义中粗体部分的未跟踪文件有点困惑。 这就是我所做的 touch test.html git status " 它表明 blr mpjfs:workflow\u manager amazumde$git状态 论分行行长 未跟踪的文件: (使用“git add…”包含在将提交的内容中) test.html 但是当我执行git dif
touch test.html
git status
"
它表明
blr mpjfs:workflow\u manager amazumde$git状态
论分行行长
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
test.html
但是当我执行git diff
时,这里没有显示任何内容
如果我使用git add添加文件,git diff将显示差异
我看了一眼
还是不确定
所以这里是我的问题“git diff是否显示了工作
工作中新创建的未跟踪文件的树和索引
目录“
编辑
如果它不应该显示未跟踪文件的差异,那么
描述有点不清楚?有什么地方可以清楚地看到它吗
叫出来
第二次编辑
另外,git status在显示未跟踪文件方面的内部工作方式与git diff有多大的不同
不,git diff不能显示工作目录中未跟踪创建文件的工作树和索引之间的差异,SVN也不能。不,git diff不能显示工作目录中未跟踪创建文件的工作树和索引之间的差异,SVN也不能。您的问题可能与此重复
正如在这些答案中提到的,你可以做一些类似于git diff的事情——没有索引跟踪的文件未跟踪的文件(答案来自@Harold)你的问题可能与此重复 正如在这些答案中提到的,你可以做一些类似于git diff的事情——没有索引跟踪的文件未跟踪的文件(答案来自@Harold)根据定义,“未跟踪的文件”不在索引中。(这似乎没有正确记录,但“跟踪文件”只是索引中有一个条目,而“未跟踪文件”则没有。这包括记录删除文件意图的索引条目的特例:即使该文件的索引条目上写着“不包括此文件”,也会跟踪该文件。) 因此,您的问题首先声明路径
p
不在索引中(即p
未跟踪),然后询问git是否可以将通过路径p
在索引中找到的文件与其他文件进行比较。正如你所看到的,这个问题很难回答,因为它提出了两个相互矛盾的主张:P
不在索引中,同时,P
在索引中。根据定义,“未跟踪的文件”不在索引中。(这似乎没有正确记录,但“跟踪文件”只是索引中有一个条目,而“未跟踪文件”则没有。这包括记录删除文件意图的索引条目的特例:即使该文件的索引条目上写着“不包括此文件”,也会跟踪该文件。)
因此,您的问题首先声明路径
p
不在索引中(即p
未跟踪),然后询问git是否可以将通过路径p
在索引中找到的文件与其他文件进行比较。正如你所看到的,这个问题很难回答,因为它提出了两个相互矛盾的主张:P
不在索引中,同时,P
也在索引中。那么描述不是有点不清楚/混乱吗?你知道有没有什么参考文献清楚地提到了它?描述不是有点不清楚/混乱吗?你知道有没有什么参考资料清楚地写出来了?嗨。。我在问题中明确指出,我看了一下,仍然不清楚。这里我说的是目录级别。。我在问题中明确指出,我看了一下,仍然不清楚。在这里我说的是目录级完美!!只有一个后续问题。那么git status是如何工作的呢?git status
基本上运行两个比较:“HEAD vs index”告诉您下一次提交时设置了什么,而“index vs work dir”告诉您还没有设置什么。后者是特殊情况,因此如果工作目录中有一个文件不在索引中,它可能会在--short
输出中绘制“未跟踪”投诉或“?”状态(但首先git status
检查忽略/排除条目)。因此,一个特殊的情况(不是git diff本身)就是可以宣布“未跟踪”状态的地方。完美!!只有一个后续问题。那么git status是如何工作的呢?git status
基本上运行两个比较:“HEAD vs index”告诉您下一次提交时设置了什么,而“index vs work dir”告诉您还没有设置什么。后者是特殊情况,因此如果工作目录中有一个文件不在索引中,它可能会在--short
输出中绘制“未跟踪”投诉或“?”状态(但首先git status
检查忽略/排除条目)。因此,一个特殊的情况(不是git diff本身)是可以宣布“未跟踪”的情况。
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