首先前提当然是本地和线上都安装上 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-receiveunset GIT_DIRcd /var/www/codegit pull origin masterexit 0# chomd 777 post-receive
上面使用的 ROOT 用户来进行操作,生产环境必定有风险,可以根据权限管理将上述代码迁至普通用户。
