1.使用git创建远程仓库时,一定要创建裸仓库,即git init --bare。
否则,使用push向远程仓库提交更新时,会报错。
2.由于远程仓库一般都是裸仓库,所以是看不到源代码的。所以,要把代码部署到生产环境,还需要接下来的操作:
(1)在远程裸仓库的hooks目录下,创建并编辑名为post-receive文件:
vim post-receive
编辑如下内容:
#!/bin/sh
GIT_WORK_TREE=/usr/share/nginx/html/markpic git checkout -f
上边的路径/usr/share/nginx/html/markpic,就是源代码要部署的位置,这个路径要根据你自己的需要来设置。这个例子中的路径,是我Nginx服务器发布web项目的路径。
(2)给post-receive加上可执行权限
chmod +x post-receive
(3)创建源代码部署路径
如果第一步中的路径不存在,就需要创建这个路径,这里就不赘述了。
经过以上设置之后,每次提交的代码就会自动部署到你所指定的路径下。
注意:以上过程,只会把master分支的代码部署到指定路径下。