我有git repo,我发现在使用git log myfile
时,只有根目录下的文件(.git
文件夹所在的位置)才显示日志。对子目录中的任何文件执行相同操作不会显示任何内容。为什么呢?
同样,使用 git extension 时,右键单击文件并单击“文件历史记录”,只有根文件夹中的文件才有历史记录。所有其他文件都没有历史记录 - 它会说“git未初始化”
我错过了一些设置吗?
答案 0 :(得分:1)
一种解释是.gitignore
忽略子文件夹(*/
)
这可以解释git add .
或git status
对所述子文件夹不执行任何操作
(即使OP认为“所有文件都已添加”。如果它们实际上在索引中,则.gitignore
规则不适用,因为majioa comments)
还检查您的环境变量(GIT_DIR
,GIT_WORK_TREE
),看看它们是否设置为可能会将Git混淆在您的文件夹中的任何内容。
在您的仓库的根文件夹中执行git ls-files --stage
,以检查special entries中的the index,这可以解释为什么子文件夹内容具有不同的性质(子模块是一个)。