参考并转载自:

http://www.embbnux.com/2014/09/05/git_server_let_code_auto_deploy/

http://www.chenyudong.com/archives/git-sync-manage-website.html#i

1. 创建远程仓库

$ mkdir /home/www.cnblogs.com/www.cnblogs.com.git #将来网站git的记录存放位置
$ chown -R git:git www.cnblogs.com.git #改权限
$ cd www.cnblogs.com.git
$ git init --bare
Initialized empty Git repository in /home/www.cnblogs.com/www.cnblogs.com.git/

2. 在git远端仓库的hooks目录下新建post-receive文件:

#!/bin/sh

#author: embbnux
#Blog of Embbnux: http://www.embbnux.com #判断是不是远端仓库
IS_BARE=$(git rev-parse --is-bare-repository)
if [ -z "$IS_BARE" ]; then
echo >&2 "fatal: post-receive: IS_NOT_BARE"
exit 1
fi unset GIT_DIR
DeployPath="/var/web" echo "==============================================="
cd $DeployPath
echo "deploying the test web" git fetch --all
git reset --hard origin/master time=`date`
echo "web server pull at webserver at time: $time."
echo "================================================"

  保存后赋予可执行权限:

chmod +x hooks/post-receive

  

Git Hook 同步服务器代码的更多相关文章

  1. git代码同步服务器代码需要注意的问题

    魔鬼藏在细节之中,git代码同步服务器代码需要注意的问题 1. 全文件夹覆盖  git pull 当前文件夹 2. 覆盖前做代码备份  mv origin origin_20190404_bak

  2. idea-git同步服务器代码后撤销操作

    工具:IntelliJ IDEA 2019.2.1 x64 记录一次不小心同步代码后,如何撤销操作. 1.同步服务器代码,右击项目,点击Synchronize 'xxx',如下: 2.打开Versio ...

  3. 使用git pull同步github代码到服务器

    我直接用git pull的时候遇到这个错误: error: Your local changes to the following files would be overwritten by merg ...

  4. PHPstorm同步服务器代码的缺点---命名空间undefined

      在把一个服务器的代码同步到phpstorm下开发的时候,发现新建的命名空间代码都失效了,然而换到 https://blog.csdn.net/afraid_to_have/article/deta ...

  5. VS code deploy同步服务器代码

    首先在安装“deploy”插件 然后打开settings.json文件加上 { "deploy": { "packages": [ { "name&q ...

  6. pycharm远程同步服务器代码,并设置权限

    Pycharm开发工具链接至上面创建的虚拟环境链接 权限问题:此时上传还可能遇到权限问题,即使用的用户名没有权限在给定的目录下写入和修改文件. ubuntu权限管理:移动到指定目标上传文件夹的父文件夹 ...

  7. git gitlab 使用 提交代码解决冲突

    1.更改完代码后,git push 发生错误 注: 此时,使用 git pull: 更新代码,git 会自动merge不同的更新, a.  如果git 自动merge成功,再进行 git push操作 ...

  8. git 利用hook 实现服务器自动更新代码

    如何利用git的hook实现提交代码后自动更新? 因为个人开发经常需要提交代码,每次都需要连接服务器去pull代码,重启服务器就显得十分繁琐,因此github提供了一个时间钩子,用户push代码后可以 ...

  9. 使用git代替FTP部署代码到服务器的例子

    这篇文章主要介绍了使用git代替FTP部署代码到服务器的例子,这种方法可以节省流量.节省时间,需要的朋友可以参考下 本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和 ...

随机推荐

  1. Create A .NET Core Development Environment Using Visual Studio Code

    https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio- ...

  2. MkDocs 搭建试用

    http://www.mkdocs.org/备注:    在平时的开发中文档管理是一个比较重要的部分,同时集成在 平时开发的持续集成中,可以加速开发   1. 安装 pip install mkdoc ...

  3. consul 几个方便使用的类库

    consul 几个方便使用的类库 1. java  https://github.com/OrbitzWorldwide/consul-client   <dependency> < ...

  4. 收藏一下mybatis全局参数配置

    http://blog.csdn.net/shaoduo/article/details/54285981

  5. Oracle 使用RMAN COPY 移动 整个数据库 位置 示例

    一.数据迁移说明 在DBA的工作中会遇到数据迁移的情况,比如将本地磁盘迁移到ASM,亦或者需要更换存储设备,那么我就需要迁移整个数据库的存储位置. 如果只是移动表空间或者数据文件,我们可以将表空间或者 ...

  6. c# 数据库通用类DbUtility

    DbProviderType数据库类型枚举 /// <summary> /// 数据库类型枚举 /// </summary> public enum DbProviderTyp ...

  7. thinkphp3.2.3版本在windows本地apache环境运行正常,上传到centos服务器apache环境中出现:thinkphp 上传根目录不存在!请尝试手动创建:uploads/

    thinkphp 上传根目录不存在!请尝试手动创建:uploads/  ,是根目录下uploads权限问题,我把uploads权限改成了775,就可以上传图片了.     chmod -R 775 u ...

  8. 类的声明与实例化及构造方法析构方法(PHP学习)

    <?php class human{ public static $leg=2; public $name = 'leo'; public $age = '25'; public functio ...

  9. CMapStringToPtr添加与释放

    // 创建MapStringToPtr CMapStringToPtr m_prjFiles; CStringList m_fileList; m_fileList.AddTail(_T(" ...

  10. 批处理实现mysql的备份

    脚本 @echo off echo. echo MySQL数据库备份 echo ***************************** echo. echo 今天是 %date% echo 时间是 ...