我担心这可能处于可接受的 SO 问题的边缘,但无论如何:
注意到我的 git 存储库上有一些奇怪的地方,即一个新的主远程分支,我登录到远程服务器进行查看。我认为该存储库是裸露创建的,因为它具有 .git 扩展名。
查看命令历史记录,似乎有人以 root 身份在该存储库目录中调用了以下命令:
git init
git add .
git commit
我假设这已将裸存储库转换为工作副本,当然添加了内容(如果它是裸存储库,则不会包含任何可编辑的源代码?)并将其提交给默认主控。
当我克隆这个仓库、进行 pull 、 checkout 、列出远程分支等时,我只得到一个 origin/master,并且该目录只包含钩子(Hook)、对象、引用、信息等。在 .git 下找到的正常内容。没有代码。
我想我的问题有两个部分:
1)这是对裸存储库所做的相当愚蠢的事情还是这是可接受的用法 - 即我只是克隆/pull/ checkout 错误而一切都很好?
2)我们如何恢复远程分支?
最佳答案
我或多或少地复制了您的问题,并且可以通过删除作为 git init
的一部分创建的 .git
目录来解决它。这会将存储库转换回裸存储库。你也可以尝试一下。最好对目录进行备份,以防它不起作用。
关于Git:裸存储库转换为工作:撤消此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25445653/