如何在没有在git中的本地计算机中重新克隆的情况下将远程非裸存储转换为bar repos?

时间:2009-04-13 11:34:51

标签: git

我有一台远程机器RemoteMachine,用于保存另一台MachineWeNotConcern的克隆:

git clone MachineWeNotConcern/prj prj

我的本​​地机器克隆如下:

git clone RemoteMachine/prj local_prj

现在我想将RemoteMachine的repos设置为裸(如何?),就好像我选中了一样:

git clone --bare MachineWeNotConcern/prj prj

而且我不想从我裸露的RemoteMachine回购中重新克隆,因为它总是花费很多时间。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以使用--bare从项目的远程计算机上的本地存储库中创建新克隆。即:

git clone --bare prj bare_prj

然后删除原始prj。这比再次从原始机器克隆它要快。

编辑:另一种解决方案:

看起来你可以通过以下方式将你的回购变成一个简单的回购:

  • 将.git / config文件更改为bare = true而不是bare = false
  • 删除.git文件以外的prj / *的内容
  • 将.git目录内容移动到prj /并删除.git目录

至少,这对我来说似乎有用,但是我知道这可能会导致失败的原因。