目的
当使用git提交至git服务器中,在服务器的git远程仓库中,一般只保存版本信息而看不到代码。
有的情况下需要在git提交的同时,把源代码也同时部署到服务器中,以便系统调用。
此时git服务器中存在两个目录:
-
git远程仓库:保存版本信息
-
项目部署目录:保存代码
钩子Hooks
git里的钩子就是一个脚本,在特定事件下可以触发该脚本,从而完成指定的工作。
每个已经初始化的git项目目录下都有hooks
目录,用于存放钩子文件。
实现方法
-
确保git服务器搭建完成,远程仓库目录已建立,如:
/home/git/repository/gittest.git
,参见:ubuntu搭建git服务器 -
确定服务器端的项目部署目录用于存放代码,如:
/home/gitcodetest
-
进入远程仓库目录下的
hooks
目录,建立钩子文件:vim post-receive
-
在文件中输入以下内容:
#!/bin/sh