本地项目推送到腾讯云轻量应用服务器教程(并实现本地推送远程自动更新)

将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新,具体步骤如下:

  1. 在本地项目目录下初始化 Git 仓库:
cd 项目目录
git init
  1. 将项目文件添加到 Git 仓库并提交:
git add .
git commit -m "Initial commit"
  1. 在腾讯云服务器上安装 Git:
# 对于 CentOS 系统
yum install git# 对于 Ubuntu 系统
apt-get install git
  1. 登录到服务器并创建一个裸仓库(bare repository):
cd /项目存放目录
git init --bare 项目名.git

这个时候会有一个项目名.git的文件夹(这里项目名称为wechat-push,后续均以这个为例讲解),里面包含的是init初始化的9个文件或文件夹,例如下面的wechat-push.git文件夹
在这里插入图片描述
5. 在本地项目仓库添加远程仓库地址:

git remote add origin root@服务器IP:/项目存放目录/项目名.git
  1. 将本地项目推送到远程仓库:
git push -u origin master
  1. 在服务器上克隆远程仓库到项目存放目录:
cd /项目存放目录
git clone /项目存放目录/项目名.git

比如cd /www/wwwroot/wechat-push在这个目录下执行git clone /www/wwwroot/wechat-push/wechat-push.git
这个时候就将项目源码下载到对应目录了
在这里插入图片描述
在这里插入图片描述

至此,项目已成功上传到服务器。以后每次在本地修改项目后,只需执行以下命令推送到远程服务器:

git add .
git commit -m "Your commit message"
git push

在服务器端,进入项目存放目录下的项目文件夹,拉取更新:

cd /项目存放目录/项目名
git pull

这样,就可以实现在本地修改项目后推送到远程服务器的目的。

但是现在还不能实现本地推送之后,远程服务器自动更新,还需要在服务器端手动拉取代码,接下来讲解如何本地push之后服务器端项目自动拉取最新代码。

为了实现本地 push 之后服务器自动同步更新,需要在服务器的 Git 裸仓库中添加一个钩子(hook)脚本。这里以使用 post-receive 钩子为例:

  1. 在服务器的 Git 裸仓库中创建 post-receive 钩子脚本:
cd /项目存放目录/项目名.git/hooks
touch post-receive
chmod +x post-receive

在这里插入图片描述

touch是创建文件夹的命令,post-receive 是 Git 钩子脚本的一种类型,它会在接收到推送(push)事件后触发。
在这里插入图片描述
chmod +x post-receive:chmod 命令用于修改文件权限。+x 表示添加可执行权限。这里用它为 post-receive 脚本添加可执行权限,这样 Git 才能在接收到推送时运行此脚本。

  1. 编辑 post-receive 脚本,将以下内容添加到脚本中(请替换为实际的项目存放目录和项目名):
#!/bin/sh
TARGET="/项目存放目录/项目名"
GIT_DIR="/项目存放目录/项目名.git"
BRANCH="master"while read oldrev newrev ref
do# 只有当推送的是 master 分支时才执行if [ "$ref" = "refs/heads/$BRANCH" ];thenecho "Ref $ref received. Deploying ${BRANCH} branch to production..."git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -felseecho "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server."fi
done

在这里插入图片描述

  1. 保存并关闭脚本。

现在,每当你从本地推送 master 分支到服务器时,服务器会自动将项目文件更新到网站根目录。这样就实现了本地 push 之后服务器同步更新的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/725892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 命令怎么回退到某个特定的 commit 并将其推送到远程仓库?

问题 不小心把提交的名称写错提交上远程仓库了,这里应该是 【029】的,这个时候我们想回到【028】这一个提交记录,然后再重新提交【029】到远程仓库,该怎么处理。 解决 1、首先我们找到【028】这条记录的提交 hash,右…

centos cat命令

cat命令主要有两个功能:显示文件内容和创建文件: 1. 显示文件内容cat /dev/opt/text.log 2. 在终端中查看多个文件的内容 cat test1.txt test2.txt 3. 在终端显示文件内容带行号 cat -n test1.txt 4. 将标准输出与重定向运算符一起使用 cat t…

Android Q - 应用保活记录(展锐平台)

有其他同事改过这方面的问题,仅在此作个记录,方便查阅。 1、lmkd白名单 1).device/sprd/sharkle/common/lmkd_param.conf# format: title and string # TITLE_ for different usage # string detail information for every TITLE.####TITLE_LM…

rust-analyzer报错“Failed to spawn one or more proc-macro servers,....“怎么解决?

最近,在使用vscode测试rust代码时,遇到了一些问题。在经过反复折腾后,最终解决了问题,在此写下作为记录,以便于以后参考。 我遇到的报错内容是: Failed to spawn one or more proc-macro servers. cannot find proc-macro-srv, the workspace E:\100rust\temp is missin…

Timsort排序

Timsort 是一种混合排序算法,由 Tim Peters 在 2002 年为 Python 的标准库设计。它结合了归并排序(Merge Sort)和插入排序(Insertion Sort)的优点,特别适用于处理部分有序的数据集。Timsort 在 Python 中用…

目标检测YOLO实战应用案例100讲-【目标检测】基于图像处理的机器人垃圾分拣系统(续)

目录 3 基于YOLOv8的机器人垃圾分拣系统研究 3.1 引言 3.2 基于YOLOv8的机器人垃圾分拣系统设计方案

阿俊带你用Kotlin刷算法(五)

本系列通过Java和Kotlin这两种语言来解决力扣上面的算法题,由于本人算法菜鸟一枚,可能部分题目并不是最优题解,希望能和各位大神共同讨论~ 阿俊带你用Kotlin刷算法(一) 阿俊带你用Kotlin刷算法(二&#x…

瑞芯微第二代8nm高性能AIOT平台 RK3576 详细介绍

RK3576处理器 RK3576瑞芯微第二代8nm高性能AIOT平台,它集成了独立的6TOPS(Tera Operations Per Second,每秒万亿次操作)NPU(神经网络处理单元),用于处理人工智能相关的任务。此外,R…

teknoparrot命令行启动游戏

官方github cd 到teknoparrot解压目录 cd /d E:\mn\TeknoParrot2_cp1\GameProfiles启动游戏 TeknoParrotUi.exe --profile游戏配置文件游戏配置文件位置/UserProfiles,如果UserProfiles文件夹里没有那就在/GameProfiles,在配置文件里将游戏路径加入之间,或者打开模拟器设置 …

基于ACM32 MCU的两轮车充电桩方案,打造高效安全的电池管理

随着城市化进程的加快、人们生活水平的提高和节能环保理念的普及,越来越多的人选择了电动车作为代步工具,而两轮电动车的出行半径较短,需要频繁充电,因此在城市中设置两轮车充电桩就非常有必要了。城市中的充电桩不仅能解决两轮车…

python+django+vue房屋租赁系统 8gwmf

房屋租赁系统在设计与实施时,采取了模块性的设计理念,把相似的系统的功能整合到一个模组中,以增强内部的功能,减少各组件之间的联系,从而达到减少相互影响的目的。如房源信息、预约信息、求租信息模块等[12]。 管理员后…

springcloud:3.7测试线程池服务隔离

服务提供者【test-provider8001】 Openfeign远程调用服务提供者搭建 文章地址http://t.csdnimg.cn/06iz8 相关接口 测试远程调用:http://localhost:8001/payment/index 服务消费者【test-consumer-resilience4j8004】 Openfeign远程调用消费者搭建 文章地址http://t…

数据库学习案例20240306-oracle数据库连接类故障trace

1 数据库连接类故障TRACE 故障现象 客户端tnsping ipv6:1521 提示Permission denied,但是在本机是可以链接的。 查看数据库netstat -tunlp|grep 1521 TCP 地址:1521 TCP 不全的IPV6:1521 没有tcp6协议出现。 故障分析 客户端sqlnet.o…

[Redis]——数据一致性,先操作数据库,还是先更新缓存?

目录 一、操作缓存和数据库时有三个问题需要考虑: 1.删除缓存还是更新缓存? 2.如何保证缓存与数据库的操作同时成功或失效 3.先操作缓存还是先操作数据库(多线程并发问题) 二、 缓存更新的最佳策略 一、操作缓存和数据库时有…

C#使用自定义的方法设计堆栈类

目录 1.首先创建一个名为Clist的类 2.接下来创建一个名为CStack的类 3.最后使用CStack类和Push方法来添加和遍历堆栈数据 4.运行结果 本实例展示了如何使用C#创建一个带有Push方法和Clist类的CStack类,并如何在其中添加和遍历堆栈数据。 1.首先创建一个名为Cli…

深度学习-多层神经网络

文章目录 多层深度神经网络一.黑箱:深层神经网络的不可解释性二.多元神经网络: 层与 h ( z ) h(z) h(z)三.激活函数 多层深度神经网络 从单层到多层是神经网络发展史上的重大变化,层的增加彻底将神经网络的性能提升到了另一个高度&#xff0…

「Vue3系列」Vue3 Axios详解

文章目录 一、Vue3 Axios二、Vue3 Axios 请求配置项三、Axios 响应结构四、Axios 拦截器请求拦截器响应拦截器拦截器的移除拦截器的应用场景 五、相关链接 一、Vue3 Axios 在 Vue 3 中,你可以使用 axios 来执行 AJAX 请求。axios 是一个流行的基于 Promise 的 HTTP…

Java面向对象详解以及示例解析

Java面向对象详解 文章目录 Java面向对象详解 面向对象编程(Object-Oriented Programming,简称OOP)是一种计算机编程模型。其核心在于围绕数据或对象来组织软件设计,而非仅仅依赖于功能和逻辑。这种编程方式更专注于对象与对象之间…

设计模式之依赖倒转原则

目录 1、 基本介绍 2、 应用实例 3、 依赖关系传递的三种方式 (1) 接口传递 (2) 构造方法传递 (3) setter方式传递 4、 注意事项和细节 1、 基本介绍 依赖倒转原则(Dependence Inversion Principle)是指: 高层模块不应该依赖低层模块,二者都应该依…

文字悬浮下划线动态效果

概览 此篇文章主要介绍文字悬浮下划线的动画效果&#xff0c;主要有从左往右和从中间至两边扩散两种动态效果 一. 从左往右 示例代码如下 <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content…