2014-01-24 55 views
2

我有git repo,我发现在使用git log myfile时,只有根目录下的文件(其中.git文件夹)显示日志。对子目录中的任何文件执行相同的操作都不会显示任何内容。为什么?我的git仓库中的一些文件没有历史记录。哪里不对?

同样,当使用git扩展名时,右键点击文件并点击“文件历史记录”,只有根文件夹中的文件才有历史记录。所有其他文件没有历史 - 它会说“混帐未初始化”

我错过了一些设置?

+0

你是否已将这些文件添加到索引中? –

+0

是的,所有文件都被检入回购。 – user386436

+0

请提供'git show ignored_file'的答案。 –

回答

1

一种解释将是一个.gitignore而忽略子文件夹(*/

这可以解释一个git add .git status能拿说什么的子文件夹。
(尽管OP认为“所有文件已被添加”。如果他们实际上是在索引中,那么.gitignore规则不适用,因为majioacomments

检查还你的环境变量(GIT_DIRGIT_WORK_TREE )来查看它们是否被设置为可能会混淆文件夹中Git的任何内容。

不要在你的回购的根文件夹中git ls-files --stage要想在the index这可以解释为什么子文件夹的内容的性质不同(一个子模块之一)的检查special entries

+0

'.gitignore'仅在igronred文件夹中的文件未添加到索引时才受到影响。 –

+0

@majioa确实。我在答案中补充了这一点。 – VonC

+0

我注意到,对于相同的回购,如果我从远程网站克隆它,那么历史就在那里,但是如果我将克隆的回购复制到新地点,则历史不再可用。我能做些什么来获取历史信息? – user386436

相关问题