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

如何将本地Git代码部署到Web服务器远程仓库并展示项目文件?

解决Bare Git仓库部署后网页项目不可见的问题

很高兴你已经通过@muecas的评论解决了问题!我还是把这个实用的解决方案整理出来,方便其他遇到同样困惑的开发者参考:

你已经完成了bare仓库的初始化和远程推送配置,核心问题确实是bare仓库本身没有工作树,无法直接存放可访问的项目文件。这时候我们可以通过指定--work-tree和--git-dir参数,让Git把代码检出到Web服务器的网页根目录,具体操作如下:

  • 首先在Web服务器上确认你的网页根目录(比如常见的/var/www/my-web-project),如果目录不存在,先创建它:
    mkdir -p /var/www/my-web-project
    
  • 直接执行检出命令,将bare仓库的develop分支内容同步到网页目录:
    git --git-dir=/path/to/git-repo/my-repo.git --work-tree=/var/www/my-web-project checkout -f develop
    
    这里的-f是强制覆盖参数,确保网页目录的内容和仓库分支完全一致。

如果想让后续推送更自动化,不用每次手动执行检出,可以给bare仓库添加配置:

cd /path/to/git-repo/my-repo.git
# 绑定工作树到网页根目录
git config core.worktree /var/www/my-web-project
# 临时关闭bare模式以便处理工作树
git config core.bare false
# 设置推送时自动更新当前分支对应的工作树
git config receive.denyCurrentBranch updateInstead

配置完成后,之后你在本地执行git push develop develop时,服务器会自动把最新的代码同步到网页目录,无需再手动操作。

最后提个小建议:尽量把bare仓库放在非Web访问目录下(就像你现在的做法一样),只让网页根目录存放项目文件,这样能避免仓库文件被公开访问,提升安全性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:46:28