推空提交到远程

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

git commit --allow-empty 

推空提交有什么不利之处? 有没有什么问题,我可能会面对未来,因为这个空的承诺?

你不会面临任何可怕的后果,只是历史看起来有点混乱。

可以通过做改变提交消息

 git commit --amend git push -f 

但是这会超越你的远程历史,这意味着如果有人在这段时间内拉回这个回购,这个人会对你很生气。

只要你是唯一访问回购的人。

推空提交有什么不利之处?

除了有人可能会感到极度困惑的是,为什么在主人身上还有一堆没有内容的提交,而不是真的。

可以更改您推送到远程的提交,但提交的sha1(基本上是id号)将永久更改,这将更改源代码树 – 然后您必须执行git push -f回到远程。

推送提交,无论是否为空,都会导致最终的git钩子被触发。 这可以做什么也不会有世界震惊的后果。

只要你明确地参考空提交的其他提交,应该没问题。 就像是:

 Commit message errata for [commit sha1] [new commit message] 

正如其他人所指出的那样,这往往更有利于推动更正的提交。