0

同事必须使用强制更新选项(在 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.

什么配置需要改?

4

1 回答 1

2

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

必须的典型解决方案实际上是首先使用orgit push -f更新远程历史记录之上的本地历史记录,这确保您从远程获取最新条目并入本地历史记录(无论是通过合并还是变基)。git pullgit pull --rebase

于 2012-08-23T14:28:43.093 回答