这些特殊符号git log为gpg签名提交显示了什么?

时间:2018-02-19 00:44:46

标签: git gnupg

我正在玩gpg签名的提交,我在^M看到的这个git log --show-signature感到困惑:

commit 2ca6e05a384aa8c1c92e4171eca7fa67aa2a2621 (HEAD -> master)
gpg: Signature made 02/19/18 02:38:28 TZ 2 Standard Time^M
gpg:                using RSA key 7BD2AAD0D220147A0FDFC8528570E09FBB1^M
gpg: Good signature from "amomum" [ultimate]^M

--pretty=format'%GS' - 在签名者姓名后添加^M

这些^M是什么?我认为这些是行尾符号\r但是他们在那里做什么?我该怎样摆脱它们?

我正在使用git for windows和gpg4win。

UPD:我认为这与https://github.com/git-for-windows/git/issues/1249

有关

1 个答案:

答案 0 :(得分:2)

输入后尝试进行新的签名提交:

git config core.autocrlf false

看看问题是否仍然存在 ^M是crlf而不是lf,可能是自动转换的结果。

OP提及git-for-windows/git issue 1249:支持外部gpg2,损坏的编码。

我用最新的Git确认gpg仍然是1.x:

vonc@VONCAVN7 C:\
> where gpg
D:\prgs\git\latest\usr\bin\gpg.exe
> gpg --version
gpg (GnuPG) 1.4.22

A patch is proposed用于删除Windows gpg2的CR字符,但尚未集成到Git中。