我如何将一个非裸git存储库变成一个裸存储库?

Art*_*ldt 6 git

可能重复:
如何将git存储库从normal转换为bare?

我想把一个回购变成一个简单的回购,所以人们可以用一个大的讨厌的警告推动它.我可以删除它并再次克隆它......但也许有更优雅的方式?

Pet*_*ter 11

最好再删除并克隆一次.例:

mv old_git_repo/ /tmp/
git clone --bare /tmp/old_git_repo/  new_git_repo/
Run Code Online (Sandbox Code Playgroud)

您也可以删除工作文件并将其提升.git/*..但是,您也就需要添加bare = true和删除logallrefupdates = true新裸露config[core]部分(以前.git/config,你可以做一个脚本,如果你喜欢自动执行此操作.

编辑:您在评论中提到这是从svn克隆的,因此新克隆将需要很长时间.但是 - 不要从svn克隆!只需从新的git repo中克隆git -> git,它就会很快.或者,请参阅上面关于仅移动文件的说明.