可能是缺少咖啡,但我刚吃了一些,所以无论如何我会继续问。
以下是我在终端上的文字说明,其中包含换行符以便于阅读。
$ ls -la
total 28
drwxr-xr-x 5 thomas thomas 4096 2010-10-02 09:32 .
drwxr-xr-x 153 thomas thomas 12288 2010-10-02 09:30 ..
drwxr-xr-x 5 thomas thomas 4096 2010-10-02 09:31 content
drwxr-xr-x 3 thomas thomas 4096 2010-10-02 09:31 template
drwxr-xr-x 7 thomas thomas 4096 2010-10-02 09:31 typely
$ git --version
git version 1.7.0.4
$ git init .
Initialized empty Git repository in /home/thomas/typely/.git/
$ git add -A
$ git st
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: content
# new file: template
# new file: typely
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: content
# modified: typely
#
但这些都是目录!此外,自我添加它们以来,它们没有被修改过。
认为目录可能有问题,我尝试cp -r
到一个新目录,但同样的事情发生了。如果直接git add
这些文件,git不会抱怨,但它们也不会出现在git st
中。
我是否会失去理智?
答案 0 :(得分:2)
找到它。这些目录都包含单独的git存储库!
$ find -name .git
./content/.git
./template/.git
./typely/.git
我在这里留下这个问题以防其他人遇到这个问题。
答案 1 :(得分:2)
它们被视为submodules,Git将其存储在超级存储库中作为一种特殊的文本文件。修改它们时执行git diff
会将它们显示为包含文本Subproject commit
和提交SHA1 ID的文件。