开发过程中,我们经常使用git同步代码。前端的代码,需要手动的上传到服务器,很麻烦。在此,建立服务器的git仓库,配饰hooks进行自动的配置。实现服务器和本地的git互通。
在网上看了很多关于git钩子,git hooks的介绍和配置,自己研究出这一个版本,需要的朋友可以看一下。
服务器创建两个仓库,一个是同步仓库,一个是部署仓库:
第一个仓库在/home下:
创建远程仓库 注意student.git名字和项目部署文件名称一样
切换到.git 初始化仓库
初始化以后 出现这么多文件
第二个仓库是你的前端页面位置/usr/local/nginx/html/:(页面部署了nginx)
初始化需要项目文件夹的父目录为git仓库
copy远程仓库到此 作为项目仓库 备用
copy以后 出现student文件夹 这就是存放前端文件得文件夹
更改该文件夹的权限
重要的一步:进入hooks 添加脚本
脚本内容:
#!/bin/sh
unset GIT_DIR #很关键
NowPath=`pwd`
DeployPath="/usr/local/nginx/html/student" #存放项目的文件夹位置
cd $DeployPath
git add . -A && git stash
git pull origin master
composer install --ignore-platform-reqs
cd $NowPath
echo "同步完成"
exit 0
最后一步->更改脚本的权限:
服务器配置完毕!
开发机配置:安装 git 配置秘钥 在github上添加公钥 这些看GIT安装和配置
进入需要同步到服务器的文件夹,打开 git Bash Here,执行git init(如果该文件夹已经是git仓库,可以不执行,我本地已是git仓库)。
本地仓库关联服务器远程仓库:git remote add origin [email protected]:/home/git/student.git
如果出现:
此时,执行:git remote rm origin 然后再次关联服务器远程仓库
在本地仓库中 建一个txt文本 模拟数据同步
进行git操作:
此时 出现脚本内容 本地已经上传到服务器成功