💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
本文记录通过git来自动部署php代码的操作步骤。 试验环境: * ubuntu server 14.04 # 一、创建服务器端仓库   服务器上需要配置两个仓库,一个用于代码中转的**远程仓库**,一个用于http访问的**本地仓库**。   **这里的「远程仓库」并不等同于托管代码的「中央仓库」**,这两个仓库都是为了自动同步代码并部署网站而存在。    * 在代码部署目录中建立git仓库(假设为 /home/bl/www,用于http访问) ~~~ cd ~ mkdir www cd www git init git config --global user.email "user@163.com" git config --global user.name "User" touch Readme.txt git add . git commit -a -m "first commit" ~~~ * 建立中转的远程仓库(假设是 /home/bl/repos)执行 ~~~ mkdir -p ~/repos/project.git cd ~/repos/project.git git init --bare ~~~ * 向中转的仓库推送 ~~~ cd ~/www git remote add origin ~/repos/project.git git push origin master ~~~ * 修改.git目录的权限 ~~~ cd ~/www chmod 700 -R .git ~~~ * * * * * # 二、服务器配置 Git Hook `cd ~/repos/project.git/hooks`   建立 post-receive 文件,内容如下: ~~~ #!/bin/sh unset GIT_DIR NowPath=`pwd` DeployPath="~/www/" cd $DeployPath git pull origin master cd $NowPath exit 0 ~~~ **`chmod a+x post-receive `** 设置可执行权限后,服务器端的配置就基本完成了。 * * * * * # 三、客户端配置开发 ~~~ cd ~ git clone user@192.168.1.77:/home/bl/repos/project.git php_test cd php_test/ ~~~   修改a.txt文件 ~~~ git ci -a -m "test remote" git push origin master ~~~   现在查看远端的~/www/目录下的a.txt应该同步修改了(如果a.txt没同步变化请检查post-receive的执行权限)    # 四、设置免密码登陆 * 生成 SSH 密钥(如果本地已经生成可以跳过此步) `ssh-keygen -t rsa` * 将客户端上的公钥复制到SSH服务端 `ssh-copy-id user@ip_address`