我认为关于rebase和push的唯一规则是
在提交被推送到公共回购之后,不要改变和推动
但是,如果我们只使用git push或git push origin <branch-name>永远不会使用--force或-f标志,那么它是否真的永远不会发生?
如果公共回购是一个裸露的回购协议(这意味着你可以直接在公共回购本身变基的任何东西),如果设置的混帐配置 receive.denyNonFastForwards和receive.denyDeletes为真,那么你应该确定.
如果设置为true,
git-receive-pack将拒绝不是快进的ref更新.使用此选项可以防止通过推送进行此类更新,即使强制推送也是如此.如果设置为true,
git-receive-pack将拒绝删除ref的ref更新.使用它来防止通过推送删除这样的引用.
另请参阅" 有没有办法配置git存储库以拒绝' git push --force'? ".
请注意,例如,这些设置不能直接用于GitHub存储库.