我已经将一个提交推送到远程,但现在我意识到提交消息不正确。我想更改提交消息,但AFAIK这是不可能的。所以我决定用正确的消息创建空提交:
git commit --allow-empty
推送空提交有什么缺点/后果吗?我将来会因为这个空提交而面临什么问题吗??
ruoxqz4g1#
空提交的一个用途是强制在每当推送新提交时都会触发构建的环境中进行构建。
git commit --allow-empty -m "Trigger Build"
balp4ylt2#
你不会面临任何可怕的后果,只是历史看起来有点混乱。您可以通过执行以下操作来修改提交消息
git commit --amend git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)
但是这会覆盖你的远程历史,这意味着如果有人在此期间拉了那个回购,这个人会对你非常生气。
如果你是唯一一个访问仓库的人,就这样做吧。
gjmwrych3#
无论是否为空,推送提交都会导致最终的git hooks被触发。这可能什么也做不了,或者产生破坏世界的后果。
h7wcgrx34#
推送空提交有什么缺点/后果吗?除了极端的困惑之外,有些人可能会问为什么master上有一堆没有内容的提交,不是真的。您can更改了您推送到remote的提交,但是提交的sha1(基本上是id号)将永久更改,这会更改源树-然后您必须执行git push -f回到remote。
can
git push -f
laik7k3q5#
只要你清楚地引用了空提交中的另一个提交,就应该没问题。类似于:
Commit message errata for [commit sha1] [new commit message]
正如其他人所指出的,这通常比强制推送更正的提交更可取。
2vuwiymt6#
至于令人困惑的历史,我有一个建议,最终使未来的考古学家的生活更容易。
git commit --allow-empty -m "message for commit DEADBEF was wrong. Correct Msg: ..."
其中,DEADBEF代表具有错误消息的提交的提交散列(SHA)。或者,如果不可能/不允许空提交,则可以创建文档commitcomments/$SHA.txt添加/提交并推送它。顺便说一句:无论如何,我忍不住要告诉你,git的历史经常是令人困惑的:)
cpjpxq1n7#
这个怎么样
git commit --allow-empty-message -m ''
7条答案
按热度按时间ruoxqz4g1#
空提交的一个用途是强制在每当推送新提交时都会触发构建的环境中进行构建。
balp4ylt2#
你不会面临任何可怕的后果,只是历史看起来有点混乱。
您可以通过执行以下操作来修改提交消息
但是这会覆盖你的远程历史,这意味着如果有人在此期间拉了那个回购,这个人会对你非常生气。
如果你是唯一一个访问仓库的人,就这样做吧。
gjmwrych3#
无论是否为空,推送提交都会导致最终的git hooks被触发。这可能什么也做不了,或者产生破坏世界的后果。
h7wcgrx34#
推送空提交有什么缺点/后果吗?
除了极端的困惑之外,有些人可能会问为什么master上有一堆没有内容的提交,不是真的。
您
can
更改了您推送到remote的提交,但是提交的sha1(基本上是id号)将永久更改,这会更改源树-然后您必须执行git push -f
回到remote。laik7k3q5#
只要你清楚地引用了空提交中的另一个提交,就应该没问题。类似于:
正如其他人所指出的,这通常比强制推送更正的提交更可取。
2vuwiymt6#
至于令人困惑的历史,我有一个建议,最终使未来的考古学家的生活更容易。
其中,DEADBEF代表具有错误消息的提交的提交散列(SHA)。
或者,如果不可能/不允许空提交,则可以创建文档
commitcomments/$SHA.txt
添加/提交并推送它。
顺便说一句:无论如何,我忍不住要告诉你,git的历史经常是令人困惑的:)
cpjpxq1n7#
这个怎么样