克隆存储库的git状态显示已删除文件

时间:2012-04-28 06:51:17

标签: git

我已将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,那么我就可以得到它。为什么它不是在克隆自己时提供源文件?

4 个答案:

答案 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