首先前提当然是本地和线上都安装上 Git。

线上

  1. # 随便创建一个放代码的仓库,这里为 /root/code.git
  2. # mkdir ~/code.git && cd code.git
  3. # 创建裸仓库
  4. # git init --bare

本机

  1. # 创建本地仓库并初始化
  2. $ cd git_code & git init
  3. # 将内容提交到暂存区
  4. $ git add -A
  5. # 提交代码到仓库
  6. $ git commit -m "init commit"
  7. # 添加远程仓库
  8. $ git remote add origin root@{IP addressa}:/root/code.git
  9. # 推送远程仓库,这是 ssh 连接方式,所以要输入密码,可以配置密钥来免去输密码这一环
  10. $ git push origin master

在线上,/root/code.git 只是一个裸仓库,这意味着该目录下的文件和 .git 目录是一样的,所以你想在线上查看代码,克隆即可:

  1. # 假设目录在 /temp
  2. # git clone /root/code.git

还可以根据钩子文件来自动更新 /temp/code 代码:

  1. # cd ~/code.git/hooks
  2. # vim post-receive
  3. unset GIT_DIR
  4. cd /var/www/code
  5. git pull origin master
  6. exit 0
  7. # chomd 777 post-receive

上面使用的 ROOT 用户来进行操作,生产环境必定有风险,可以根据权限管理将上述代码迁至普通用户。