将空提交推送到远程

时间:2013-11-22 06:40:19

标签: git git-commit

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

git commit --allow-empty

推送空提交是否有任何缺点/后果?由于这个空提交,我将来可能面临任何问题吗?

6 个答案:

答案 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 ''