榫卯盒子 - 开源|人工智能|知识分享|创新工具|科技爱好者 Logo
首页
内容盒子
工具盒子
千里快问
关于
登录 →
榫卯盒子 - 开源|人工智能|知识分享|创新工具|科技爱好者 Logo
首页 内容盒子 工具盒子 千里快问 关于
登录
  1. 首页
  2. 经验
  3. 本地代码通过git同步到服务器(宝塔面板,ubuntu系统)

本地代码通过git同步到服务器(宝塔面板,ubuntu系统)

  • 经验
  • 发布于 2024-07-26
  • 40 次阅读
榫卯盒子
榫卯盒子

在本地 (Mac) 上将代码通过 Git 推送到远程 (Ubuntu) 服务器并自动检出

1. 准备工作

确保在本地和远程服务器上都安装了 Git。如果没有安装,可以使用以下命令进行安装:

  • Mac:

    brew install git
    
  • Ubuntu:

    sudo apt update
    
sudo apt install git

2. 设置远程服务器

假设远程服务器的 IP 是 123.123.123.123,用户名是 root,项目目录是 /www/wwwroot/note。

步骤一:创建裸仓库

  1. SSH 登录到远程服务器:

    ssh root@123.123.123.123
    
  2. 创建裸仓库:

    sudo mkdir -p /www/wwwroot/note.git
    cd /www/wwwroot/note.git
    sudo git init --bare
    

步骤二:设置工作目录

  1. 创建工作目录:
    mkdir -p /www/wwwroot/note
    

步骤三:配置 post-receive 钩子

  1. 进入裸仓库的钩子目录:

    cd /www/wwwroot/note.git/hooks
    
  2. 创建并编辑 post-receive 文件:

    sudo nano post-receive
    
  3. 在 post-receive 文件中添加以下内容:

    #!/bin/bash
    git --work-tree=/www/wwwroot/note --git-dir=/www/wwwroot/note.git checkout -f
    
  4. 保存并退出编辑器。

  5. 给 post-receive 钩子赋予执行权限:

    sudo chmod +x /www/wwwroot/note.git/hooks/post-receive
    

3. 本地提交和推送代码

步骤一:配置本地仓库

  1. 在本地机器上,进入项目目录并初始化 Git 仓库:

    cd ~/notes
    git init
    
  2. 添加远程仓库:

    git remote add origin ssh://root@123.123.123.123:/www/wwwroot/note.git
    

步骤二:提交并推送代码

  1. 添加并提交所有文件:

    git add .
    git commit -m "Initial commit"
    
  2. 推送代码到远程仓库:

    git push -u origin master
    

结果

每次将代码推送到远程服务器时,post-receive 钩子会自动将代码检出到工作目录 /www/wwwroot/note。无需手动从裸仓库中检出代码,工作目录会自动保持与远程仓库同步。


这样,你就完成了在本地通过 Git 将代码推送到远程服务器并自动检出的全部配置过程。如果有任何问题或需要进一步的帮助,请告诉我!

标签: #宝塔面板 1 #代码同步 1
相关文章
高原肉牛文化小镇

高原肉牛文化小镇 2025-04-15 21:05

公安备案流程、所需材料和信息

公安备案流程、所需材料和信息 2024-11-01 12:48

公安备案流程、所需材料和信息 依据 《计算机信息网络国际联网安全保护管理办法》相关规定,各网站/App在工信部进行ICP备案成功后,如网站/App为中国内地提供服务(在中国内地可访问该网站/App),仍需在网站/App开通之日起30日内登录全国互联网安全管理服务平台提交公安联网备案申请。 账号注册

本地代码通过git同步到服务器(宝塔面板,ubuntu系统)

本地代码通过git同步到服务器(宝塔面板,ubuntu系统) 2024-07-26 17:54

在本地 (Mac) 上将代码通过 Git 推送到远程 (Ubuntu) 服务器并自动检出 1. 准备工作 确保在本地和远程服务器上都安装了 Git。如果没有安装,可以使用以下命令进行安装: Mac: brew install git Ubuntu: sudo apt update sudo ap

数据库ORM简明教程,prisma中文教程

数据库ORM简明教程,prisma中文教程 2024-07-25 17:14

本文旨在详细介绍 ORM(Object Relational Mapping)技术及其使用方法,特别是 Prisma 库在 Node.js 环境下的应用。 1. ORM 介绍 ORM(对象关系映射)是一种技术,它使得开发者可以通过操作对象的方式来操作数据库。通过 ORM,SQL 查询语句可以被替换成

Fanmingming/Live:可直连访问的电视/广播图标库与相关工具项目

Fanmingming/Live:可直连访问的电视/广播图标库与相关工具项目 2024-07-21 14:45

项目简介 Fanmingming/Live 是一个专注于实时视频处理和直播的开源项目。它提供了一系列工具和库,使开发者能够快速构建和部署流媒体应用。该项目支持多种流媒体协议,优化了视频传输的延迟和带宽使用,适用于多种操作系统和平台。 用户评价 用户普遍对该项目给予正面评价,认为它在视频流的稳定性和传

ZHO-ZHO-ZHO/ComfyUI-Workflows-ZHO:强大的工作流合集,优化你的ComfyUI体验

ZHO-ZHO-ZHO/ComfyUI-Workflows-ZHO:强大的工作流合集,优化你的ComfyUI体验 2024-07-18 19:03

项目简介: ZHO-ZHO-ZHO/ComfyUI-Workflows-ZHO 是一个为 ComfyUI 用户设计的工作流合集,包含多个定制化和创新的工作流程,以优化和扩展 ComfyUI 的功能。这个项目利用各种工具和API,如 Stable Diffusion、Gemini-pro 等,整合了多

目录
Copyright © 2025 榫卯盒子 All Rights Reserved. Powered by 千里快问.
滇ICP备20004463号-4