我们在git中有一个非常简单的工作流程:dev分支和有特色的分支。完成功能分支的工作后,我们将基于dev进行基础构建,然后进行推送。但是有时git阻止进行推送,尽管我确定我对功能分支的更改是最后一次。它声称我先拉。然后,它从远程存储库中获取分支的先前版本。 实际上,我可以强制执行,但是我不认为这是最好的解决方案。 不幸的是,仍然很难确定是什么原因造成的。大概,有人也接过我的分支,在其上工作,然后基于dev进行重新设计。但实际上,这些变更要比我的变更更早实施。 所以,我想有人已经遇到过这种情况(?)
答案 0 :(得分:1)
如果您要重新建立本地功能分支,那么唯一的选择就是强制推送。
git push -f
但是,如果有其他人在要素分支上工作,则不建议使用此方法,因为那样他们将不得不拉动更改。
重新设置有效地重写了功能分支的历史记录。这就是为什么您必须强制推动。
您可以使用的另一个选项是根本不重新设置基准。您始终可以merge
将dev中的提交提交到功能分支。这样可以确保您可以使用常规推送来更新遥控器,并且功能分支的所有其他用户也可以毫无问题地进行拉动。