前言:作为一个开发者,希望能够在本地把代码提交到服务器指定目录,同时在本地进行单文件或多文件增删改查,甚至部署之后出bug需要回退到某个版本。另本文作者是php开发者,自动部署我们重启php-fpm和nginx,而其他开发者重启tomcat等工具大同小异。开始正文
准备工作环境 1.本地安装好git base【这里和git cmd,git gui是一个包】,没有的同学自动百度安装. 2.服务器上安装git。【这里博主用的是centos】,没安装的同学一条命令
yum install git2.进入新建的仓库 cd test.git/ 3.新建你的项目目录,这里默认为www
mkdir /www4.在hooks新建post-receive文件,并编辑
vi hooks/post-receive编辑post-receive写入一下内容
#!/bin/sh GIT_WORK_TREE=/www git checkout -f [/www]写你实际的目录 service php-fpm restart #这里重启服务,需要配置全局php-fpm,其他服务直接写cmd命令即可5.然后给post-receive可执行权限
chmod +x post-recevie1.进去你本地仓库代码目录 后缀目录和上面新建仓库目录路径一样
git clone ssh://git@你的ip/home/testgit/test.gitps:这里要输入密码请配置ssh免密登录 2.写文件提交测试
touch inden.php [新建文件] git add . [提交所有文件] git commit -m '这是第一次提交'[-m是提交版本的备注] git push [推送到服务器上]这里一般权限等错误,请给/www权限,以上过程教程很多不在叙述
1.实例正常提交与修改文件 增加文件 删除文件 现在客户机上和钩子项目目录都有 index.html 2.尝试新增一个文件正常提交
3.我们编辑这个index.php增加几个字符
岷县看到服务器钩子目录的index.php增大了,时间也发生变化
4.版本回退,这里不用git checkout 因为这个在本地操作的化不触发钩子
git log --oneline [查看提交版本日志]可以清晰看到最近提交的第一条是现在所处的版本 现在我们回到上一个版本
git reset --hard 97a7691 [参数为版本号] git push -f [强制提交]这里可以看到index.php变为上一个版本提交的空了。 欢迎在评论区提出问题、