在运行 git format-patch 时,目的是创建您编写代码的电子邮件表示形式。目前为止还不错。我不是电子邮件专家,但似乎这个格式化补丁输出的第一行不符合标准的电子邮件头格式... "From de8d128fb520416e0b029c913b3a5ce900d0320c Mon Sep 17 00:00:00 2001" 是什么?日期是干什么用的?它看起来对我来说是任意的,并且还防止我将其管道传输到 sendmail。每次想要发送补丁时,我都必须手动删除该行。
谢谢。
谢谢。
来自 git help format-patch
讨论: git format-patch 生成的补丁以UNIX邮箱格式输出,并带有一个固定的“魔法”时间戳,以表明该文件是由format-patch输出而不是真实的邮箱,如下所示:
From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001
From: Tony Luck <tony.luck@intel.com>
Date: Tue, 13 Jul 2010 11:42:54 -0700
Subject: [PATCH] =?UTF-8?q?> > [IA64]=20Put=20ia64=20config=20files=20on=20the=20?=
=?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
"Mon Sep 17 00:00:00 2001"
只是一个假的随机日期,用于使Unix-From行被常见的MUA识别,与您的提交对象无关。真正的日期在Date:
标题中。
我曾经试图将其更改为git的生日(
Thu Apr 7 15:13:13 2005 -0700
),我记得当时发现有些人的脚本(或者也许是MUA)被打破了,并关心“7”之前是什么...在Unix-From行上并且抛弃那次更新。
"From $SHA1 $magic_timestamp"
行和其他标题行存在的目的是使其看起来像mbox。
%2d
),这使得月份和日期之间有两个空格。请参考MBOX 电子邮件格式和 asctime。事实上,一些人的脚本(或者可能是 MUA)出现了问题,并且关注了“7”之前的内容。 - Thomas Guyot-Sionnestgit format-patch --stdout <range> | sed 1d
然后你可以随意处理结果。
或者,您也可以使用git
本身来发送电子邮件。尝试:
git send-mail --smtp-server=<your server> *.patch
查看GIT Send-Mail Manpage获取所有选项。
gitster
)撰写。gitster
--合并于提交5c2f7ff,2021年3月30日)
format-patch
:概述“补丁”消息是什么这段文字说准备了一个“补丁”来记录每个提交,它适合通过电子邮件提交,使用“am”命令可以使用它,但没有说明“补丁”到底是什么。
页面描述还提到了“三破折号”行,但如果读者没有更详细的概述,“三破折号”行也不清楚是什么。
添加一个简短的段落,概述输出的外观。
git format-patch
现在在其man手册中包括:
git diff
)。来自维基百科(https://en.wikipedia.org/wiki/September_17)
2001年 - 9/11事件后,纽约证券交易所重新开放交易,这是自大萧条以来最长的关闭时间。
或许只是巧合!
git log -S 'Mon Sep 17 00:00:00 2001' --all -p --source --reverse -- . ':(exclude)t'
显示是 Hamano 提交了引入魔法日期的提交,但它并没有说明为什么选择了这个日期。UNIX 时间戳似乎也不是一个非常特殊的数字:1000677600
,尽管它比字符串更整洁。 - Ciro Santilli OurBigBook.com