Skip to content

Instantly share code, notes, and snippets.

@ThaddeusJiang
Created December 4, 2017 07:08
Show Gist options
  • Save ThaddeusJiang/cc22b33fb2b32fd20881c9cb26507e42 to your computer and use it in GitHub Desktop.
Save ThaddeusJiang/cc22b33fb2b32fd20881c9cb26507e42 to your computer and use it in GitHub Desktop.
使用 git 自动部署简单网站

原文:http://imweb.io/topic/56172ddc5d6f37745e8f4982

  1. 网站主机上添加文件夹
$ mkdir ~/git-dir.git // 代码仓库
$ mkdir ~/dep-dir-1   // 测试目录
$ mkdir ~/dep-dir-2   // 正式上线目录
  1. 远程repository初始化
$ cd ~/git-dir.git
$ git init --bare // 创建裸仓库
$ cd hook
$ cp post-receive.sample post-receive
  1. post-receive内容
#!/bin/sh
#
DIR_ONE=/home/user/dep-dir-1
DIR_TWO=/home/user/dep-dir-2
#
git --work-tree=${DIR_ONE} clean -fd
git --work-tree=${DIR_ONE} checkout --force
#
git --work-tree=${DIR_TWO} clean -fd
git --work-tree=${DIR_TWO} checkout --force
  1. 本地 repository
$ mkdir something && cd something
$ git init
$ git remote add origin [email protected]:/home/git/git-dir.git

本地repository可以直接 push 到远程仓库了

$ touch README
$ git add README
$ git commit -m 'first comit'
$ git push origin master

确认一下远程主机(git-dir.git, dep-dir-1, dep-dir-2)是否同步了刚刚 push 的README ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment