You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修复SVN转Git后呈现类裸仓库结构的非裸Git仓库

修复Git仓库结构:将根目录下的Git核心文件移至.git文件夹

这种情况我之前也碰到过,SVN转Git的时候偶尔会出现这种“伪裸仓库”的问题——Git的核心文件直接暴露在根目录,而不是藏在.git文件夹里。别担心,几步就能搞定:

步骤1:备份Git核心文件(重要!)

先别急着动手,先把这些Git相关的文件备份一份,避免操作失误丢数据。在仓库根目录执行:

# 把Git核心文件备份到临时目录
mkdir -p /tmp/git-repo-backup
cp -r branches hooks info logs objects refs config description HEAD index /tmp/git-repo-backup/

步骤2:创建.git文件夹并移动核心文件

在仓库根目录创建标准的.git文件夹,然后把所有Git核心文件/目录移进去:

# 创建.git目录
mkdir .git
# 移动所有Git相关的文件和文件夹到.git里
mv branches hooks info logs objects refs config description HEAD index .git/

步骤3:将仓库从“裸仓库”模式切换为正常工作仓库

因为当前的结构是裸仓库的结构,Git默认会标记它为裸仓库,我们需要修改配置让它变成正常的非裸仓库:

git config --local core.bare false

步骤4:恢复工作区文件

现在仓库已经是正常结构了,但根目录还没有项目文件(因为之前是裸仓库状态),执行下面的命令把当前分支的文件checkout到工作区:

git checkout HEAD

验证修复结果

做完上面的步骤后,你可以执行几个命令确认一下:

  • ls -la:应该能看到项目文件和.git文件夹
  • git status:正常显示工作区状态
  • git log:确认提交记录和标签都还在

如果一切正常,那你的Git仓库就恢复成标准结构啦!

内容的提问来源于stack exchange,提问作者Idris.AH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:48:49