mru*_*jay 212 git git-commit
我已将一个提交推送到远程,但现在我意识到提交消息不正确.我想更改提交消息,但AFAIK是不可能的.所以我决定使用正确的消息创建空提交:
git commit --allow-empty
Run Code Online (Sandbox Code Playgroud)
推送空提交有什么缺点/后果吗?由于这个空提交,我将来可能遇到任何问题吗?
sar*_*t07 323
$ git commit --allow-empty -m "Trigger Build"
Run Code Online (Sandbox Code Playgroud)
Gab*_*lla 74
你不会面临任何可怕的后果,只是历史会让人感到困惑.
您可以通过执行更改提交消息
git commit --amend
git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)
Run Code Online (Sandbox Code Playgroud)
但是这将覆盖你的远程历史记录,这意味着如果有人在同一时间拉回了那个回购,这个人会对你很生气......
如果您是唯一访问回购的人,请这样做.
xor*_*xor 18
推送提交,无论是否为空,都会导致触发最终的git钩子.这可以做任何事情或者造成破坏性的后果.
yam*_*tes 17
推送空提交有什么缺点/后果吗?
除了极端困惑之外,有人可能会知道为什么有一堆提交,而且没有内容在主人身上,而不是真的.
您可以更改推送到远程的提交,但提交的sha1(基本上是它的ID号)将永久更改,这会改变源树 - 然后您必须git push -f返回远程.
153*_*957 14
只要你清楚地引用空提交中的其他提交就应该没问题.就像是:
Commit message errata for [commit sha1]
[new commit message]
Run Code Online (Sandbox Code Playgroud)
正如其他人所指出的那样,这通常比强制推动纠正的提交更可取.