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

如何配置并使用无本地副本的Git工作流?

无需本地副本的Git工作流配置方案

1. 测试服务器端配置(直接操作文件的环境)

  • 登录测试服务器,创建项目目录并初始化Git仓库:
    mkdir /path/to/test-project && cd /path/to/test-project
    git init
    # 添加.gitignore排除临时文件、日志等无需追踪的内容
    echo -e "temp/\nlogs/" >> .gitignore
    git add .gitignore && git commit -m "Initialize repo with gitignore"
    
  • 若需要多人协作推送到测试服务器更新内容,配置允许远程推送自动更新工作目录:
    git config receive.denyCurrentBranch updateInstead
    

2. 生产服务器端配置(接收推送并自动部署)

  • 登录生产服务器,创建裸仓库(仅用于版本控制,无工作目录):
    mkdir /path/to/prod-project.git && cd /path/to/prod-project.git
    git init --bare
    
  • 添加post-receive钩子,实现推送后自动将代码部署到生产目录:
    # 创建钩子文件
    cat > hooks/post-receive << 'EOF'
    #!/bin/bash
    # 指定生产部署目录
    DEPLOY_DIR="/path/to/prod-deploy-folder"
    # 强制检出最新代码到部署目录
    GIT_WORK_TREE=$DEPLOY_DIR git checkout -f main
    # 可选:添加部署后操作(如重启服务、清理缓存)
    # systemctl restart nginx
    EOF
    # 赋予钩子执行权限
    chmod +x hooks/post-receive
    

3. 关联测试与生产服务器仓库

回到测试服务器,将生产服务器的裸仓库添加为远程仓库:

git remote add production user@prod-server-ip:/path/to/prod-project.git

4. 日常工作流

  • 在测试服务器上直接编辑、修改文件(用vim、nano或服务器端编辑器)
  • 提交变更到本地测试仓库:
    git add .
    git commit -m "描述变更内容,比如:更新首页轮播图"
    
  • 推送到生产服务器完成部署:
    git push production main
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:33:10