我的起源/分支与本地分支不同步,请参见下文
[当我尝试从本地“ staging”分支推送到origin / staging分支时,出现“ rejected-non-fast-forward”错误。
我将Eclipse与Windows PC上的EGit模块一起使用。
[从another post here开始,我可以使用“ git push --force origin stage”解决问题,以使用本地分支替代origin / staging分支。
但是,我没有在EGit中看到该选项,也没有看到如何在EGit中打开控制台来执行此操作?
有人知道我是否可以在EGit中做到这一点吗?
确定-解决了我自己的问题。看来我在Commits上遇到的问题没有被推回原点/阶段。在使用“ git reset XXX:without --hard”时发现了an overview here,它重置了分支标记,但保留了本地更改以供以后重新提交。
谢谢杰森
我刚遇到类似的问题,这是我所做的:
<name of branch>
...您确定要覆盖远程分支并丢失所有这些提交吗?
如果远程分支上有不在本地分支中的提交,则应在推送之前将它们合并到本地分支中
例如,在您的本地staging
分支上:
git merge origin/staging
但是,如果您确定的话,我建议您检查推送参考规范上的“强制更新”选项。
入门有点复杂,但是EGit用户指南在讨论Pushing to other Repositories时会对此进行解释,并且在Push Ref Specifications的部分中提到了“强制更新”选项的特定部分
Edit 0:关于失败的合并,我还没有遇到完全失败而不是导致冲突的合并,并且看来这可能是known issue
[如果执行强制推送,则在修复标题中缺少的Location:字符串后,将丢失添加到origin/staging
的所有内容,并且会破坏其他所有人的分支。我认为那不是你想要的。您可能想先进行拉动,然后进行拉动就可以了。