Як налаштувати відповідний гак Git для надсилання підсумкового електронного листа щоразу, коли набір змін буде перенесений у сховище вище за течією?
Як налаштувати відповідний гак Git для надсилання підсумкового електронного листа щоразу, коли набір змін буде перенесений у сховище вище за течією?
Відповіді:
Ще один, більш сучасний спосіб зробити це за допомогою git-multimail , як запропоновано акордами нижче.
Ось як ви це зробили у 2009 році.
Ви можете додати що - щось на зразок цього , щоб ваш пост-отримати гак в $ GITDIR / гаками, або використовувати скрипт в каталозі CONTRIB джерела (є тут)
Ось найпростіше рішення, яке я знайшов:
1) Увійдіть у свій обліковий запис gitHub gitHub github.com
2) У головній вкладці натисніть на Налаштування
3) З головної навігації виберіть Службові гачки
4) З доступних гачків виберіть електронну пошту
5) Заповніть свою електронну адресу в полі Адреса
6) Установіть прапорець Надіслати від автора
7) Поставте прапорець Активний
8) Клацніть на Налаштування оновлення
Необов’язково: Ви можете натиснути на Test Hook для тестування, перевірити свою поштову скриньку, щоб ви отримали електронний лист.
Також є зображення, зроблені відповідно до процесу:
А тепер для грандіозного фіналу я маю відповідь, яка перевірена і схвалена у мене.
Як надсилати електронну пошту ВСІМ членам групи розробників, коли Службові гачки gitHub-> Електронна пошта дозволяє лише максимум двом одержувачам} .
Відповідь - комбінація груп Service Hook-> Email @ GitHub && Google
Це мій спосіб надсилати сповіщення електронною поштою користувачам кожного разу, коли один натискання на сховище.
Налаштування сповіщення електронною поштою Git Commit
Він заснований на сценаріях Енді Паркінса. Я змінюю його на використовуваний SMTP для надсилання електронної пошти. Звичайно, SMTP gmail також може бути використаний.
Робін Sommer «сек ГИТ-повідомник створює дуже хороші резюме в наступному форматі:
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)
встановлення гачків.шоурев не робить різниці? : - /
Приклад конф .:
# 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] "
Мені вдалося це зробити, але довелося вибрати сценарій contrib, а не інший (perl) сценарій Олександра Джулліарда. Здається, більш чудовим і налаштованим, але з постфіксом у мене не було поштової команди, яка б приймала "-s"? Ось мій шлях:
http://pastie.textmate.org/695323
Було б непогано показати ще трохи інформації, наприклад, повний патч, посилання gitweb та графік фіксації, але цей сценарій можна зробити лише першим - якщо я зіграю з гачками.
У будь-якому разі, привіт і дякую за пропозиції!
Якщо ви використовуєте Windows, scm-notifier буде корисним.
Не зовсім повна відповідь, оскільки це специфічно для Github, але якщо вам трапляється використовувати Github, налаштувати "Службові гачки" надзвичайно просто.
Для кожного сховища, яке потрібно відстежувати, введіть Налаштування / Гачки обслуговування.
Існує безліч доступних інтеграцій, таких як Trac, Twitter, Amazon SNS, Джира, Асана, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello та Email ....
Просто виберіть електронну пошту та надішліть її груповою адресою електронної пошти.
Ми використовуємо сповіщення електронною поштою для синхронізації наших розробників.
Якщо ви використовуєте 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 у вашому сховищі:
Тут відкривається нова сторінка електронної пошти під натисканням
Також є можливість відключення коду відключення який виключає можливий чутливий код, який відрізняється від органу сповіщень. Це необов’язково.
Для отримання додаткової інформації: натисніть тут