【Git】GIT服务器端部署及自动拉取

本文详细介绍了如何通过Git Hook实现服务器端代码自动部署。内容包括背景描述、自动部署理论、服务器安装过程(创建裸仓库、设置Git Hook脚本)以及客户端git remote的添加步骤。通过此方法,当开发者提交代码时,服务器能自动拉取并更新代码,简化了部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GIT服务器端部署及自动拉取

背景描述

在刚开始用git的时候,每次都是将本地将代码push到远程仓库,然后再ssh到服务器上git pull,甚是麻烦。后来在项目开发中使用git的时候,发现push之后,编译系统竟然会有自动部署等功能。顿时觉得这等神器,必须学习一下,所以就请教了吴旭东老师。下面就是我通过Git Hook神器将自己的项目自动化部署到服务器的过程。

自动部署理论

首先要明确现在代码的分布情况,开发者电脑上的本地仓库,git服务器上的远端仓库,web服务器上的另一个本地仓库,我们浏览器访问的就是这里的代码。其实自动部署就是要当从开发者本地仓库提交代码到远端仓库的时候,自动把代码部署到web服务器的本地仓库,实现开发者本地仓库和web服务器的本地仓库的同步。(即通过GitHook中的post-receive脚本文件)

服务器安装过程

  1. 在服务器上创建一个裸仓库(git服务器上的远端仓库)
    首先要在服务器上建立一个裸仓库,我存放裸仓库的目录是 ~/cst/git,进入到该目录,然后使用git init --bare 裸仓库名称 创建裸仓库。
    裸仓库的仓库名称一般会加上.git结尾的形式,如 automaticgit.git (这也是为什么我们从 GitHub clone 仓库的时候,地址都是 xxx.git 这样的形式的原因)
    这个git的名字就是 项目文件夹名.git,git clone时会创建的文件夹名字
  2. 在服务器上建立一个普通Git仓库用于存放网站的源代码。(web服务器上的另一个本地仓库) 会有一个空仓库提示
    git fetch不会创建文件夹,只会更新里面内容
    所以这个创建的hello_project就是工程的根目录了
git clone ~/cst/git/automaticgit.git  hello_project  #hello_project是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值