git跟踪目录中的文件,但不跟踪目录本身-git中的bug?

git跟踪目录中的文件,但不跟踪目录本身-git中的bug?,git,git-submodules,Git,Git Submodules,我对git的理解不包括这种情况。我无法通过运行git reset-hard-HEAD和git clean-fd来清除“git status”。git似乎在跟踪目录中的两个文件,而不是目录本身。这里有一段摘录 ~/work/ghc/libraries/haskeline ((no branch)) $ git status # Not currently on any branch. # Untracked files: # (use "git add <file>..." to

我对git的理解不包括这种情况。我无法通过运行git reset-hard-HEAD和git clean-fd来清除“git status”。git似乎在跟踪目录中的两个文件,而不是目录本身。这里有一段摘录

~/work/ghc/libraries/haskeline ((no branch)) $ git status
# Not currently on any branch.
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   "tests/dummy-I\314\202\302\274I\314\202\302\261I\314\210\302\203/"
nothing added to commit but untracked files present (use "git add" to track)

~/work/ghc/libraries/haskeline ((no branch)) $ git clean -fd
Removing "tests/dummy-I\314\202\302\274I\314\202\302\261I\314\210\302\203/"

~/work/ghc/libraries/haskeline ((no branch)) $ git status
# Not currently on any branch.
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    "tests/dummy-\303\216\302\274\303\216\302\261\303\217\302\203/bar"
#   deleted:    "tests/dummy-\303\216\302\274\303\216\302\261\303\217\302\203/\303\217\302\202\303\216\302\265\303\217\302\201\303\217\302\204"
#
no changes added to commit (use "git add" and/or "git commit -a")

~/work/ghc/libraries/haskeline ((no branch)) $ git reset --hard
HEAD is now at 40bcd6a Fix build on Win64

~/work/ghc/libraries/haskeline ((no branch)) $ git status
# Not currently on any branch.
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   "tests/dummy-I\314\202\302\274I\314\202\302\261I\314\210\302\203/"
nothing added to commit but untracked files present (use "git add" to track)

~/work/ghc/libraries/haskeline ((no branch)) $ git log tests/dummy-μαÏ/
~/work/ghc/libraries/haskeline ((no branch)) $ git log tests/dummy-\303\216\302\274\303\216\302\261\303\217\302\203/bar
fatal: ambiguous argument 'testests/dummy-303216302274303216302261303217302203/bar': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

~/work/ghc/libraries/haskeline ((no branch)) $ git log "testests/dummy-\303\216\302\274\303\216\302\261\303\217\302\203/bar"
fatal: ambiguous argument 'testests/dummy-\303\216\302\274\303\216\302\261\303\217\302\203/bar': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

~/work/ghc/libraries/haskeline ((no branch)) $ cd tests/dummy-μαÏ/
~/work/ghc/libraries/haskeline/tests/dummy-Î¼Î±Ï ((no branch)) $ ls
Ï?εÏ?Ï?         bar

~/work/ghc/libraries/haskeline/tests/dummy-Î¼Î±Ï ((no branch)) $ git status
# Not currently on any branch.
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   "../dummy-I\314\202\302\274I\314\202\302\261I\314\210\302\203/"
nothing added to commit but untracked files present (use "git add" to track)

~/work/ghc/libraries/haskeline/tests/dummy-Î¼Î±Ï ((no branch)) $ git log bar 
commit e9c39a16fdecf529e7a86beb3971eb351e915de5
Author: Judah Jacobson <judah.jacobson@gmail.com>
Date:   Sun Jul 22 22:14:08 2012 +0000

    Add test folder for unit-testing file completion.

~/work/ghc/libraries/haskeline/tests/dummy-Î¼Î±Ï ((no branch)) $ git log .
commit e9c39a16fdecf529e7a86beb3971eb351e915de5
Author: Judah Jacobson <judah.jacobson@gmail.com>
Date:   Sun Jul 22 22:14:08 2012 +0000

    Add test folder for unit-testing file completion.

~/work/ghc/libraries/haskeline/tests/dummy-Î¼Î±Ï ((no branch)) $ cd ..
~/work/ghc/libraries/haskeline/tests ((no branch)) $ git log dummy-μαÏ/
~/work/ghc/libraries/haskeline/tests ((no branch)) $ 

你知道它不跟踪目录,只跟踪目录中的文件吗?这就是为什么不能使用Git跟踪空目录,它将忽略它。在重置期间,Git不会删除未跟踪的文件。如果你不想要它们,就把它们删除。@Cupcake@edward我知道这些事情。我的困惑是,我运行了git clean-fd,这个命令删除了git正在跟踪的文件-这很清楚,因为运行git reset-hard恢复了这些文件-您可以从我包含的输出中看到这一点。我的理解是git clean-fd不会删除任何包含跟踪文件的目录,这是错误的吗?
~/work/ghc/libraries/haskeline/tests ((no branch)) $ git branch
* (no branch)
  master