如果必须使用“git push --force”来推送,会出现什么问题?

时间:2012-08-23 14:20:56

标签: git zend-studio

同事必须使用强制更新选项(在GIT Zend Studio插件中) - 否则我们不会收到他推送的提交。

我认为这对git push -- force对应,这对我来说很危险:

--force
Usually, the command refuses to update a remote ref that is not an ancestor of the local     
ref used to overwrite it. This flag disables the check. This can cause the remote  
repository to lose commits; use it with care.

必须更改哪些配置?

1 个答案:

答案 0 :(得分:2)

这不是配置问题,我相信这是工作流程的问题。当你推送时,Git只会试图避免你导致远程丢失历史记录(也就是说,一些曾经可以从HEAD中访问的提交)。如果你必须强迫,这意味着你正在重写远程历史记录,这是存储库历史记录被搞砸或不是最新的症状。

支持git push -f的典型解决方案实际上是通过使用git pullgit pull --rebase更新远程历史记录上的本地历史记录来开始的,这可确保您获得最新版本来自遥控器的条目包含在您当地的历史记录中(无论是通过合并还是变基)。