我已将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
等,
有什么问题?为什么我没有得到源文件?如果我在克隆它后运行git checkout FMS_RE_ENGG,那么我就可以得到它。为什么它不是在克隆自己时提供源文件?
答案 0 :(得分:3)
您可能已经使用 git fast-import 来使用cvs数据填充您的存储库。这将修改.git子目录中的数据结构,但不会创建有效的结帐。
所以 git status "认为"您已删除所有文件,并且下一次提交将从存储库中删除它们。
只需执行 git reset --hard 即可将您的工作副本重置为主分支机构的干净结帐。
答案 1 :(得分:0)
如果我理解正确,我假设您通过基本克隆命令(如
)抓取存储库git clone gitRepositoryLink
当你跑步时:
git checkout FMS_RE_ENGG
这是检查GIT存储库中的不同分支。如果源文件是FMS_RE_ENGG分支但不是主分支的一部分,则在克隆存储库时,您将看不到源文件,因为您没有使用FMS_RE_ENGG分支。
答案 2 :(得分:0)
克隆完成后git branch -a
向您展示了什么?问题可能在于git clone
询问远程哪个分支作为其当前分支并在克隆(您的本地)仓库中反映出来。
据说你的转换工具搞砸了某些东西,或者远程仓库在某种程度上与其关于其活动分支的想法有关。
我们需要您提供更多信息以做出更好的猜测。
答案 3 :(得分:0)
只需尝试以下命令。它对我有用。
git checkout -f HEAD