使用git send-email发送电子邮件时如何添加其他文本?

时间:2011-12-12 10:48:18

标签: git

我正在使用git send-email <patch-name>发送补丁。

除了提交消息之外,我希望通过补丁发送的电子邮件在顶部添加一些额外的文本。

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:4)

您可以使用--annotate,然后只需在补丁的两个---之间添加评论,它就不会影响补丁。

参考:https://kparal.wordpress.com/2011/08/03/git-tip-of-the-day-introduction-text-when-emailing-patches/

例如:

From 7ea3c50fa83950549de11c6834c465bc8f28b52b Mon Sep 17 00:00:00 2001
From: James Laska
Date: Mon, 1 Aug 2011 09:53:16 -0400
Subject: [PATCH] compose_tree - Save the setup.sh script for later debugging

---
This patch is really really important, because otherwise the 
world will end in 2012. Please accept it.

 tests/compose_tree/compose_tree.sh |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/tests/compose_tree/compose_tree.sh b/tests/compose_tree/compose_tree.sh
index 66ecefd..c2e041d 100755
--- a/tests/compose_tree/compose_tree.sh
+++ b/tests/compose_tree/compose_tree.sh
... (the rest of the patch)

答案 1 :(得分:2)

Documentation表示您可以向--compose添加git send-email选项,以“调用文本编辑器编辑修补程序系列的介绍性消息。”

如果要自动执行此操作并通过脚本生成一些文本。您可以将$GIT_EDITOR环境变量设置为您的脚本。它将在命令行参数中接收文本的临时文件名。脚本退出后,此文件的内容将插入到消息中。

git send-email的命令如下所示:

$GIT_EDITOR="/path/to/your/script" git send-email ...

您的脚本可能如下所示:

#!/bin/bash

echo "Your message" > $1

答案 2 :(得分:1)

Git 2.18(2018年第二季度)提供--annotate--compose的替代方案,用于在发送包含git send-email的电子邮件时添加其他文字。

commit 04c4a4eDrew DeVault (SirCmpwn)(2018年5月4日) 帮助:Eric Wong (ele828)
(由Junio C Hamano -- gitster --合并于commit 89be19d,2018年5月30日)

  

git-send-email:允许重新编辑消息

     

当显示电子邮件摘要时,会为用户显示一个机会   编辑电子邮件,就像他们已指定--annotate一样   这也允许他们多次编辑它。

     

&#34; git send-email&#34;有时可以提供确认对话框&#34; Send this email?&#34;选择&#39; Yes&#39;,&#39; No&#39;,&#39; Quit&#39;和&#39; { {1}}&#39 ;.
  新动作&#39; All&#39;已添加到此对话框中。

git-send-email.perl中所示:

Edit