我有git repo,我发现在使用git log myfile
时,只有根目录下的文件(其中.git
文件夹)显示日志。对子目录中的任何文件执行相同的操作都不会显示任何内容。为什么?我的git仓库中的一些文件没有历史记录。哪里不对?
同样,当使用git扩展名时,右键点击文件并点击“文件历史记录”,只有根文件夹中的文件才有历史记录。所有其他文件没有历史 - 它会说“混帐未初始化”
我错过了一些设置?
我有git repo,我发现在使用git log myfile
时,只有根目录下的文件(其中.git
文件夹)显示日志。对子目录中的任何文件执行相同的操作都不会显示任何内容。为什么?我的git仓库中的一些文件没有历史记录。哪里不对?
同样,当使用git扩展名时,右键点击文件并点击“文件历史记录”,只有根文件夹中的文件才有历史记录。所有其他文件没有历史 - 它会说“混帐未初始化”
我错过了一些设置?
一种解释将是一个.gitignore
而忽略子文件夹(*/
)
这可以解释一个git add .
或git status
能拿说什么的子文件夹。
(尽管OP认为“所有文件已被添加”。如果他们实际上是在索引中,那么.gitignore
规则不适用,因为majioacomments)
检查还你的环境变量(GIT_DIR
,GIT_WORK_TREE
)来查看它们是否被设置为可能会混淆文件夹中Git的任何内容。
不要在你的回购的根文件夹中git ls-files --stage
要想在the index这可以解释为什么子文件夹的内容的性质不同(一个子模块之一)的检查special entries。
'.gitignore'仅在igronred文件夹中的文件未添加到索引时才受到影响。 –
@majioa确实。我在答案中补充了这一点。 – VonC
我注意到,对于相同的回购,如果我从远程网站克隆它,那么历史就在那里,但是如果我将克隆的回购复制到新地点,则历史不再可用。我能做些什么来获取历史信息? – user386436
你是否已将这些文件添加到索引中? –
是的,所有文件都被检入回购。 – user386436
请提供'git show ignored_file'的答案。 –