Git diff 不显示新添加文件的更改

标签 git git-diff git-stage

首先我在我新克隆的 repo 上做了 git status

$ git status
On branch Test
nothing to commit, working directory clean

现在我从另一个目录复制一个测试项目

$ git status
On branch Test
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        Test/

no thing added to commit but untracked files present (use "git add" to track)

文件如下

$ ls Test -a
./  ../  .classpath  .gitignore  .project  Test.class  Test.java

但是 git diff 给出了以下结果

$ git diff

基本上没有。 但是,如果我暂存它并执行 git diff -cached,它会显示如下

$ git diff --cached
diff --git a/Test/.classpath b/Test/.classpath
new file mode 100644
index 0000000..233be1d
--- /dev/null
+++ b/Test/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path=""/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/Test/.gitignore b/Test/.gitignore
new file mode 100644
index 0000000..a9819ad
--- /dev/null
+++ b/Test/.gitignore
@@ -0,0 +1 @@
+/Test.class
diff --git a/Test/.project b/Test/.project
new file mode 100644
index 0000000..b6bd205
....

如何在不暂存的情况下看到上述更改(即当复制的文件夹未暂存时)。

请在这里解释一下 git 是如何工作的。是否有可能在没有第一次提交的情况下看到复制的文件夹/文件更改?

最佳答案

git status --porcelain | 怎么样? grep -e '^??' | sed -e 的/^??//克' | xargs 少了?

你可以通过less查看所有未跟踪的文件。

关于Git diff 不显示新添加文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326054/

相关文章:

git - 从批处理文件运行 git 命令时出现 "Rename from commit-graph.lock to commit-graph failed "

两次提交之间的 Git diff 中间没有一些提交

git - 如何比较 VS 代码中的 git 分支与编辑选项?

git - 在暂存区显示文件的 git diff

git - 如果我暂存一个文件,然后修改它并进行提交和推送,会发生什么?

git - git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有什么区别?

git - Git (master|REBASE 1/1) 是什么意思?我该如何摆脱它?

macos - 如何使用 homebrew 获取 avidemux

git - 如何撤消 "git rm -r -f * "

git - 是否可以在 Git 目录之外创建 Git 哈希对象?