我想把一个回购变成一个简单的回购,这样人们就可以用很大的恶意警告来推动它。我可以删除它并再次克隆它......但也许有更优雅的方式?
答案 0 :(得分:11)
最好再次删除和克隆。例如:
mv old_git_repo/ /tmp/
git clone --bare /tmp/old_git_repo/ new_git_repo/
您也可以删除工作文件并将.git/*
提升为.
。但是,您还需要在新的bare = true
logallrefupdates = true
部分config
部分(以前为[core]
)中添加.git/config
并删除git -> git
。脚本如果你愿意,自动执行此操作。
编辑:您在评论中提到这是从svn克隆的,因此新克隆需要很长时间。但是 - 不要从svn克隆!只需从新的git repo中克隆,它将是{{1}},这将是快速的。或者,请参阅上面关于移动文件的说明。
答案 1 :(得分:1)
裸存储库只是一个没有工作目录的.git目录。所以你可以简单地用.git的内容替换项目目录,它应该可以工作:
mv /path/to/projectdir /path/to/projectdir.old
mv /path/to/projectdir.old/.git /path/to/projectdir
rm -rf /path/to/projectdir