我是Git的新手.
我刚刚为Windows安装了Git(2.9.3)(10),然后我打开了git-bash并做了一个git clone <remoteURL>.使用远程存储库的整个副本创建一个新文件夹,这很好.但后来我运行了一个git status,我得到了大量的deleted文件(我想所有刚刚复制的文件)准备就绪to be committed,并且存储库文件夹下的三个主要文件夹是untracked.该deleted文件实际上我的驱动器上存在,但!
我很确定我的git状态应该是干净的.怎么了?
pH *_*ito 12
我正在检索一个路径很长的巨大项目.我忘了设置Git使用长路径:
git config --global core.longpaths true
Run Code Online (Sandbox Code Playgroud)
在此之后,克隆进行得很顺利,状态也很干净.
Per*_*son 10
听起来您以某种方式加载了一个空索引。使用 command 发生这种情况的正常方式git read-tree --empty,但这不是您作为 git 新用户通常使用/知道的。
也许克隆出了点问题。不过应该不难修复,只需运行
git reset
Run Code Online (Sandbox Code Playgroud)
并且索引应该恢复到最新提交的内容。
这个问题不仅让“对 git 不熟悉”的 OP 感到困惑。它也吓坏了我,一个相当大的 git verteran。:-)
感谢此处其他答案的提示,我意识到这是由 git 引起的,它碰巧无法检出某些名称包含当前文件系统和/或操作系统上不受支持的字符的文件。例如,当我克隆 github wiki 存储库时,我遇到了同样的错误,一些 wiki 页面:的文件名中恰好包含 a ,它们可以在我的 Linux 机器上很好地克隆,但是(事后看来)显然不是在我的窗框。
了解根本原因使我们能够自信地决定如何/是否解决此问题: