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

树莓派2 Git服务器执行merge报错:需在工作树中运行

解决Git裸仓库无法执行merge的问题

嗨Marc,这个问题其实挺常见的——你现在操作的是一个裸Git仓库,这类仓库没有工作目录(work tree),而git merge命令必须在带有实际文件目录的非裸仓库里才能运行,这就是你收到报错的原因啦。

为什么会出现这个错误?

咱们在服务器上搭建的Git仓库通常会用git init --bare创建成裸仓库,它只存储Git的版本控制数据(比如分支、提交记录这些核心内容),不会像本地开发仓库那样有实际的文件目录。所以像merge、commit这类需要操作工作文件的命令,在裸仓库里根本没法执行。

正确的操作步骤

你需要在本地的非裸仓库里完成合并,再推回服务器:

  • 先把服务器上的仓库克隆到本地,获得带工作目录的仓库:
    git clone git@raspberrypi:~/database.git
    
  • 进入本地仓库目录,切换到master分支并合并comments:
    cd database
    git checkout master
    git merge comments
    
  • 合并完成后,把更新后的master分支推回服务器的裸仓库:
    git push origin master
    

这样就完成分支合并啦,记住服务器的裸仓库主要负责接收推送,日常的代码操作(合并、修改、提交)都应该在本地仓库进行哦~

内容的提问来源于stack exchange,提问作者HerrTux

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:39:53