我已经将一个提交推到远程,但现在我意识到提交消息是不正确的。我想更改提交消息,但AFAIK这是不可能的。所以我决定用正确的信息创建空提交:

git commit --allow-empty

推送空提交有什么缺点/后果吗?我将来会因为这个空洞的承诺而面临什么问题吗?


当前回答

空提交的一种用法是强制在每当推送新提交时都会触发构建的环境中发生构建。

git commit --allow-empty -m "Trigger Build"

其他回答

推送提交,无论是否为空,都会触发最终的git钩子。这样做要么什么也做不了,要么会造成翻天覆地的后果。

这个呢?

 git commit --allow-empty-message -m ''

至于让人困惑的历史,我有一个建议,最终会让未来的考古学家的生活更轻松。

git commit --allow-empty -m "message for commit DEADBEF was wrong. Correct Msg: ..."

其中DEADBEF代表提交错误消息的提交哈希值(SHA)。

或者如果不允许/不允许空提交,可以创建一个文档

commitcomments美元- SHA . txt。

添加/提交并推送。

顺便说一句:我忍不住要让git的历史经常令人困惑:)

空提交的一种用法是强制在每当推送新提交时都会触发构建的环境中发生构建。

git commit --allow-empty -m "Trigger Build"

只要您清楚地从空提交引用了另一个提交,就应该没问题。喜欢的东西:

Commit message errata for [commit sha1]

[new commit message]

正如其他人指出的那样,这通常比强制执行更正后的提交更可取。