【发布时间】:2017-04-21 13:07:50
【问题描述】:
我阅读了this 关于如何修改提交消息的信息。接受的答案是:
如果您已经将提交推送到远程分支,那么您需要使用
git push <remote> <branch> --force强制推送提交。
我的理解(也来自接受的答案)git push --force 将用本地分支覆盖远程分支上的所有数据。
为什么需要在更改提交消息后强制推送?如果我修改提交消息并尝试在没有 -f 或 --force 的情况下推送会发生什么?
【问题讨论】:
-
不要强迫,除非你知道你用 git 做什么。
-
@Stargateur 是的,因为这个原因我还没有尝试过。
-
'--force' 不应再使用。更喜欢'--force-with-lease'。可惜写的比较长……
-
@Philippe 请解释一下?
-
'--force-with-lease' 在删除/隐藏/丢失它们之前验证您是否获取了所有现有提交。这样,您可以确保不会无意中“删除”另一个开发人员的提交。在我新这个选项之前发生过一次。这样你就可以确保不会出错!