如何将远程非裸REPO转换为裸repos,而无需在git中的本地计算机中重新克隆?
我有一台远程机器RemoteMachine,它保存另一台机器的克隆,与以下内容无关:如何将远程非裸REPO转换为裸repos,而无需在git中的本地计算机中重新克隆?,git,Git,我有一台远程机器RemoteMachine,它保存另一台机器的克隆,与以下内容无关: git clone MachineWeNotConcern/prj prj 我的本地机器克隆如下: git clone RemoteMachine/prj local_prj 现在,我想让RemoteMachine的回购协议裸露(如何?) git clone --bare MachineWeNotConcern/prj prj 我不想从我的远程机器的裸机上重新克隆,因为它总是需要很多时间 如何实现这一点?
git clone MachineWeNotConcern/prj prj
我的本地机器克隆如下:
git clone RemoteMachine/prj local_prj
现在,我想让RemoteMachine的回购协议裸露(如何?)
git clone --bare MachineWeNotConcern/prj prj
我不想从我的远程机器的裸机上重新克隆,因为它总是需要很多时间
如何实现这一点?您可以使用--bare从项目的远程机器上的本地repo创建一个新的克隆。即:
git clone --bare prj bare_prj
然后删除原始prj。这比再次从原始机器克隆要快
编辑:另一个解决方案:
看起来,您可以通过以下方式将您的回购变成裸回购:
- 将.git/config文件更改为bare=true而不是bare=false
- 删除除.git文件以外的prj/*的内容
- 将.git dir内容移动到prj/中并删除.git dir
至少,这对我来说似乎是可行的,但据我所知,这可能是失败的原因。您可以使用--bare在项目的远程机器上从本地repo创建一个新的克隆。即:
git clone --bare prj bare_prj
然后删除原始prj。这比再次从原始机器克隆要快
编辑:另一个解决方案:
看起来,您可以通过以下方式将您的回购变成裸回购:
- 将.git/config文件更改为bare=true而不是bare=false
- 删除除.git文件以外的prj/*的内容
- 将.git dir内容移动到prj/中并删除.git dir