我写了一条不正确的提交消息,我把它推到了遥控器上。已经有很多问题已经解决了这个问题:
只是一对。但它们似乎都以git push --force
终止,另外警告为什么这是一个坏主意 - 它编辑历史记录,这意味着使用存储库的每个人在尝试拉动时都会受到影响。他们似乎并没有说“正确”的事情是什么。
那么处理这种情况的建议或“正确”方法是什么?我以为我可以使用git commit --allow-empty
添加额外的消息,但据说有“rarely a good reason to do this”。 --allow-empty
确实是解决问题的正确方法吗?如果没有,是正确的方式?
注意:做“正确的方式”可能涉及“承认我搞砸了”。作为我正在寻找的示例,git tag
手册页有一个discussion on retagging推送标签。它清楚地讨论了重新标记错误标记的提交的方法,给出了推荐的行动方案和--force
- ish做事方式。
答案 0 :(得分:6)
您可以做的一件事是在提交中添加note,例如git notes add -m "Here is my note" head~1
。然后,这将显示在git log
中,而不会实际更改提交。另一种方法是在提交中添加annotated tag,例如git tag -a tag-summary -m "Here are the tag details" head~1
。我更喜欢标记方法,因为标签显示在大多数工具的日志视图中,而注释则不显示(尽管它们显示在git log
中)。