如何配置适当的 Git 钩子,以在一组更改被推送到上游存储库时发送摘要电子邮件?
另一种更现代的方法是使用git-multimail,正如下面Chords所建议的。
这是您在2009年的做法。
你可以将类似这个添加到$GITDIR/hooks的post-receive hook中,或者使用源代码contrib目录中的脚本(点击这里可用)。
这是我找到的最简单的解决方案:
1) 在github.com 上登录你的gitHub账户。
2)在主选项卡上单击设置。
从主导航中选择服务钩子。
从可用的钩子中选择电子邮件。
5)在地址字段中填写您的电子邮件地址。
6) 选中复选框从作者发送。
7) 选中复选框活动。
点击更新设置
可选:您可以点击测试挂钩进行测试,检查您的收件箱,您应该会收到电子邮件。
同样,还有根据该过程制作的图像:
这是一张图片,无法翻译成中文。
将此翻译成中文: 无法翻译为汉字,因为这是一段HTML代码,表示在页面上显示一张图片,但图片的具体内容无法确定。
将此翻译成中文: 无法翻译,这是一个图片链接。
把这个翻译成中文:
现在,对于这个重大的决赛,我有经过测试并得到批准的答案。
如何向所有开发团队成员发送电子邮件,当GitHub的服务钩子-电子邮件最多只允许2个收件人时。
答案是Service Hook -> GitHub邮件&谷歌群组的组合。
- First login to your google account
- Go to Google Groups and at the top click on Create Group
- Type in Group Name, Group email address (will copy/paste into GitHub Service Hook->Email Address), Group description
- After that hit Create button at the top, your new group should be created now
- After that in the menu to the left hit Invite members and type in the email addresses of your team mates
- After that hit Send invites (when your members accept invitation) they are now formally members of this group
- In the menu on the left click on All Members and check the 4th column called Delivery, every team member should have option All Email.
- After that I would like to credit Mr. Clement Escoffier and please do follow his guidelines @ Clement Escoffier::Send Github commits to a Google Group on how to finish it. {Thank you Clement :)}
- If the link becomes unavailable here is another link to my gDocs @ PDF version of Clements guide
这是我的发送电子邮件通知给用户,每当有人提交到仓库时的方式。
设置 Git 提交电子邮件通知
这是基于安迪·帕金斯的脚本编写的。我将它更改为使用 SMTP 发送电子邮件。当然,也可以使用 Gmail 的 SMTP。
Robin Sommer 的git-notifier还以以下格式生成非常好的摘要:
Subject: [git/git-notifier] master: Adding www target to Makefile. (7dc1f95)
Repository : ssh://<removed>/git-notifier
On branch : master
>---------------------------------------------------------------
commit 7dc1f95c97275618d5bde1aaf6760cd7ff6a6ef7
Author: Robin Sommer <robin@icir.org>
Date: Sun Dec 19 20:21:38 2010 -0800
Adding www target to Makefile.
>---------------------------------------------------------------
Makefile | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index e184c66..9c9951b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ VERSION = 0.1
DISTFILES = git-notifier README COPYING
+WWW = $(HOME)/www/git-notifier
+
all:
dist:
@@ -13,3 +15,7 @@ dist:
cp $(DISTFILES) git-notifier-$(VERSION)
tar czvf git-notifier-$(VERSION).tgz git-notifier-$(VERSION)
rm -rf git-notifier-$(VERSION)
+
+www: dist
+ rst2html.py README >$(WWW)/index.html
+ cp git-notifier-$(VERSION).tgz $(WWW)
设置钩子。showrev没有明显的区别? :-/
样本配置:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = cj@yoga.ee
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
我设法完成了这一点,但不得不选择使用贡献脚本,而不是Alexandre Julliard的另一个(Perl)脚本。它似乎更花哨和可配置,但在 postfix 中我没有接受“-s”命令的邮件命令? 这是我的方式:
将此翻译为中文:http://pastie.textmate.org/695323 http://pastie.textmate.org/695323是一个网址,无法翻译,请您提供具体的文本。
如果能展示更多信息就好了,比如完整的补丁、gitweb链接和提交图表,但是这个脚本只能做到第一个-如果我玩弄hooks.showrev的话。
不管怎样,干杯并感谢您的建议!
如果您使用Windows,则scm-notifier会很有帮助。
Not exactly a full answer since it is Github-specific, but if you happen to use Github it is extremely easy to configure "Service Hooks".
For each repository you wish to monitor, enter Settings / Service Hooks.
There are plenty of available integrations, such as Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello and Email....
Simply select email and feed it with a group email address.
We use the email notifications to sync our developers.
如果您使用GitLab,则可以使用“推送邮件”项目服务来实现此操作,该服务可以在项目设置中的服务下找到。
你可以使用预提交:
#!/usr/bin/env ruby
require mail
Mail.defaults do
delivery_method :smtp,
address: smtp.gmail.com ,
port: 587,
user_name: ... ,
password: ... ,
authentication: plain ,
enable_starttls_auto: true
end
changes=`git diff --cached --unified=0 Gemfile Bowerfile`
unless changes.empty?
Mail.deliver do
from ...
to ...
subject [PROJECT] Plese confirm team can use libraries
body changes
end
end
安装
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
测试:
echo "# some change" >> Gemfile && git commit -m some change Gemfile
在您的代码库中,GitLab:
- Click on Setting.
- When setting expands there you will see Integrations. Click on it.
有一个新页面打开了推送邮件。
- Locate and select Send from committer.
- Also, enter the Recipients with comma separated located at the last field.
另外,还有一个选项,可以禁用代码差异,从通知正文中排除可能敏感的代码差异。这是可选的。
For more details: Click Here
- winforms
- combobox
- fogbugz
- java
- date
- internationalization
- asp.net
- iis
- url-rewriting
- urlrewriter
- c#
- enums
- ocaml
- haxe
- algorithm
- string
- viewstate
- .net
- c++
- c
- symbol-table
- mysql
- database
- postgresql
- licensing
- migration
- vb.net
- vb6
- declaration
- vb6-migration
- python
- psycopg2
- backup
- vmware
- virtualization
- gnu-screen
- authentication
- desktop
- excel
- xll
- cultureinfo
- regioninfo
- oracle
- client
- session
- download
- html
- virtual
- constructor
- scenarios
- perl
- full-text-search
- javascript
- ajax
- testing
- oop
- inheritance
- vim
- encapsulation
- information-hiding