Git 邮件通知设置

转自 http://xxw8393.blog.163.com/blog/static/3725683420108811953619/

在团队里面,我们使用Git管理共用代码,可以解决代码更改冲突问题,但还有另外一个问题,我怎么知道别人的工作进展呢?这个时候,就要求我们用一种方式,告诉团队里面的其它人,嘿,伙计们,咱有新代码更新提交进了仓库了。

Git 有一个post-receive挂钩,我们通过对该挂钩进行相关设置,即可实现自动通知功能。当然了,通知是英文的,中文支持还是有点麻烦,现在咱不弄成中文,只要求它能工作就行。

用root账号登入中央仓库(大家共享的那个核心仓库)的SSH,改变当前目录到仓库根目录下面。先设置变量邮件发送目标及发件人地址:邮件发送目标我们设定为咱的团队邮件列表,至于架设团队邮件列表,请自行搜索相关技术文案。

git config hooks.mailinglist "mailist@your.com"

git config hooks.envelopesender "your@your.com"

hooks.mailinglist是目标邮件列表,每次更新会发送通知到这个地址。

hooks.envelopesender是发件人地址,信件是从这个地址发出去的。

输入git config –list命令,查看一下变量是否设置正确。

接下来vim hooks/post-receive

#!/bin/sh

export GIT_DIR="/var/gitbase/main"

. /usr/share/doc/git-core/contrib/hooks/post-receive-email

export GIT_DIR="/var/www/server.domain.com/.git"

cd /var/www/server.domain.com

git pull origin master

git checkout -f

 

/var/gitbase/main是主仓库,/var/www/server.domain.com是生产目录。

接下来执行一下 chmod a+x /usr/share/doc/git-core/contrib/hooks/post-receive-email

我们的脚本执行了两个操作,一个是发送通知邮件,一个是更新生产服务器目录。

没有更多推荐了,返回首页