【问题标题】:Git diff doesn't show changes for new added filesGit diff 不显示新添加文件的更改
【发布时间】:2017-03-12 14:01:23
【问题描述】:

首先我在我新克隆的 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 add --intent-to-add Test ; git diff(或git add -N)对你有用吗?
  • @knitti 这行得通,但我试图找到一种方法来做到这一点,而不是每次添加新文件时都这样做。因为我经常这样做。只是一个小命令。我不知道那是只有我还是其他人也不想为新文件遇到所有麻烦。

标签: git git-diff git-stage


【解决方案1】:

git status --porcelain | grep -e '^??' | sed -e 's/^?? //g' | xargs less怎么样?

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

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 2019-09-24
    • 1970-01-01
    • 2014-04-18
    • 2020-01-18
    • 2011-04-24
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多