网站开发过程,在线学习平台网站建设有什么功能,遵义市营商环境建设局网站,品牌网站建设费用将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新#xff0c;具体步骤如下#xff1a;
在本地项目目录下初始化 Git 仓库#xff1a;
cd 项目目录
git init将项目文件添加到 Git 仓库并提交#xff1a;
git add .
git commit -m Initial commit在…将本地项目上传到腾讯云轻量应用服务器并实现后续的推送更新具体步骤如下
在本地项目目录下初始化 Git 仓库
cd 项目目录
git init将项目文件添加到 Git 仓库并提交
git add .
git commit -m Initial commit在腾讯云服务器上安装 Git
# 对于 CentOS 系统
yum install git# 对于 Ubuntu 系统
apt-get install git登录到服务器并创建一个裸仓库bare repository
cd /项目存放目录
git init --bare 项目名.git这个时候会有一个项目名.git的文件夹这里项目名称为wechat-push后续均以这个为例讲解里面包含的是init初始化的9个文件或文件夹例如下面的wechat-push.git文件夹 5. 在本地项目仓库添加远程仓库地址
git remote add origin root服务器IP:/项目存放目录/项目名.git将本地项目推送到远程仓库
git push -u origin master在服务器上克隆远程仓库到项目存放目录
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 钩子为例
在服务器的 Git 裸仓库中创建 post-receive 钩子脚本
cd /项目存放目录/项目名.git/hooks
touch post-receive
chmod x post-receivetouch是创建文件夹的命令post-receive 是 Git 钩子脚本的一种类型它会在接收到推送push事件后触发。 chmod x post-receivechmod 命令用于修改文件权限。x 表示添加可执行权限。这里用它为 post-receive 脚本添加可执行权限这样 Git 才能在接收到推送时运行此脚本。
编辑 post-receive 脚本将以下内容添加到脚本中请替换为实际的项目存放目录和项目名
#!/bin/sh
TARGET/项目存放目录/项目名
GIT_DIR/项目存放目录/项目名.git
BRANCHmasterwhile 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保存并关闭脚本。
现在每当你从本地推送 master 分支到服务器时服务器会自动将项目文件更新到网站根目录。这样就实现了本地 push 之后服务器同步更新的需求。