首先前提当然是本地和线上都安装上 Git。
线上
# 随便创建一个放代码的仓库,这里为 /root/code.git
# mkdir ~/code.git && cd code.git
# 创建裸仓库
# git init --bare
本机
# 创建本地仓库并初始化
$ cd git_code & git init
# 将内容提交到暂存区
$ git add -A
# 提交代码到仓库
$ git commit -m "init commit"
# 添加远程仓库
$ git remote add origin root@{IP addressa}:/root/code.git
# 推送远程仓库,这是 ssh 连接方式,所以要输入密码,可以配置密钥来免去输密码这一环
$ git push origin master
在线上,/root/code.git
只是一个裸仓库,这意味着该目录下的文件和 .git
目录是一样的,所以你想在线上查看代码,克隆即可:
# 假设目录在 /temp
# git clone /root/code.git
还可以根据钩子文件来自动更新 /temp/code
代码:
# cd ~/code.git/hooks
# vim post-receive
unset GIT_DIR
cd /var/www/code
git pull origin master
exit 0
# chomd 777 post-receive
上面使用的 ROOT 用户来进行操作,生产环境必定有风险,可以根据权限管理将上述代码迁至普通用户。