>我已经将cvs存储库迁移到git存储库,它位于服务器中。在我的本地,我试图克隆该存储库。它被克隆了。但是当我检查 git 状态时,它显示的结果如下,例如。
$ cd FMS_RE_ENGG/
$ git status
# deleted: FMS_RE_ENGG/Gemfile
# deleted: FMS_RE_ENGG/Gemfile.lock
# deleted: FMS_RE_ENGG/PACKAGING/CONFIG/fms-frontend.ini
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/postinst
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/postrm
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/preinst
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/prerm
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/templates
等。
问题出在哪里?为什么我没有收到源文件?如果我在克隆后FMS_RE_ENGG运行 git 结帐,那么我就可以得到它。为什么它在克隆本身时不提供源文件?
您可能已经使用 git fast-import 来用 cvs 数据填充您的存储库。这将修改 .git 子目录中的数据结构,但不会创建有效的结帐。
因此,git 状态"认为"您已经删除了所有文件,并且下一次提交将将它们从存储库中删除。
只需执行 git 重置 - 很难将您的工作副本重置为从主分支的干净结帐。
只需尝试以下命令。它对我有用。
git checkout -f HEAD
如果我理解正确,我假设您是通过基本的克隆命令抓取存储库的,例如
git clone gitRepositoryLink
运行时:
git checkout FMS_RE_ENGG
这是签出 GIT 存储库中的其他分支。如果源文件是FMS_RE_ENGG分支的一部分,但不是主分支的一部分,则克隆存储库时,将看不到源文件,因为您没有在FMS_RE_ENGG分支上工作。
克隆完成后git branch -a
显示什么? 问题可能在于git clone
询问远程哪个分支作为其当前分支,并将其反映在克隆的(本地)存储库中。
据说要么您的转换工具搞砸了某些东西,要么远程存储库在其活动分支的想法方面以某种方式搞砸了。
我们需要您提供更多信息,以便做出更好的猜测。