11

我已将 cvs 存储库迁移到 git 存储库,它位于服务器中。在我的本地,我尝试克隆该存储库。它被克隆了。但是当我检查 git status 时,它显示的结果如下所示。

$ 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

ETC。,

问题是什么?为什么我没有得到源文件?如果我在克隆它之后运行 git checkout FMS_RE_ENGG,那么我就能得到它。为什么它在克隆自身时不提供源文件?

4

4 回答 4

4

You have probably used git fast-import to fill your repository with the cvs data. This will modify the data structures inside your .git subdirectories but it will not create a working checkout.

So git status "thinks" that you have deleted ALL your files and that the next commit will remove them from the repository.

Just do git reset --hard to reset your working copy to a clean checkout from your master branch.

于 2012-11-21T10:41:50.980 回答
2

只需尝试以下命令。它对我有用。

git checkout -f HEAD
于 2019-10-11T05:20:12.830 回答
0

克隆完成后会显示什么git branch -a?问题可能在于git clone询问远程它具有哪个分支作为其当前分支并将其反映在克隆的(您的本地)存储库中。

假设您的转换工具搞砸了一些东西,或者远程仓库在某种程度上搞砸了它关于其活动分支的想法。

我们需要您提供更多信息以便做出更好的猜测。

于 2012-04-28T17:21:27.457 回答
0

如果我理解正确,我假设您正在通过基本克隆命令获取存储库,例如

git clone gitRepositoryLink

当你运行时:

git checkout FMS_RE_ENGG

这是在您的 GIT 存储库中检出一个不同的分支。如果您的源文件是 FMS_RE_ENGG 分支的一部分,但不是 master 分支,那么当您克隆存储库时,您将看不到源文件,因为您不在 FMS_RE_ENGG 分支上工作。

于 2012-04-28T17:14:54.423 回答