我已将一个提交推送到远程但现在我意识到提交消息不正确。我想更改提交消息,但AFAIK是不可能的。所以我决定使用正确的消息创建空提交:
git commit --allow-empty
推送空提交是否有任何缺点/后果?由于这个空提交,我将来可能面临任何问题吗?
答案 0 :(得分:111)
remaining = fields.Float(related=total, string='Remaining')
答案 1 :(得分:68)
你不会面对任何可怕的后果,只是历史会让人感到困惑。
您 可以 通过执行
更改提交消息git commit --amend
git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)
但是这会覆盖你的远程历史记录,这意味着如果有人在同一时间拉回了那个回购,这个人会对你很生气......
如果您是唯一访问回购邮件的人,请执行此操作。
答案 2 :(得分:17)
推送空提交是否有任何缺点/后果?
除了极端困惑之外,有人可能会知道为什么有一大堆提交内容没有内容,而不是真的。
您可以更改您推送到远程的提交,但提交的sha1(基本上是它的ID号)将永久更改,这会改变源树 - 您必须做一个git push -f
回到远程。
答案 3 :(得分:16)
推送提交,无论是否为空,都会导致触发最终的git钩子。这可以做任何事情或者造成破坏性的后果。
答案 4 :(得分:14)
只要你清楚地引用空提交中的其他提交就应该没问题。类似的东西:
Commit message errata for [commit sha1]
[new commit message]
正如其他人所指出的,这通常比强制推动更正的提交更好。
答案 5 :(得分:-3)
那呢?
git commit --allow-empty-message -m ''