将较旧的git回购推送到源站(远程)

将较旧的git回购推送到源站(远程),git,Git,我将更改推到远程测试git repo,然后将本地git repo重置为HEAD^,现在正试图将本地repo推到origin,但收到“非快进”合并警告。如果我做一个git拉式操作,我的本地回购会被原始数据破坏 我怎样才能在原始回购协议中进行合并,并告诉它放弃原始回购协议中的合并,或者告诉原始回购协议接受我的推送,即使这不是一个快进过程 谢谢这篇文章总结得很好: 这个错误一开始可能有点难以克服,不要害怕。 简单地说,git无法在远程上进行更改而不丢失提交,因此它拒绝推送 通常这是由另一个用户推到同一

我将更改推到远程测试git repo,然后将本地git repo重置为HEAD^,现在正试图将本地repo推到origin,但收到“非快进”合并警告。如果我做一个
git拉式操作
,我的本地回购会被原始数据破坏

我怎样才能在原始回购协议中进行合并,并告诉它放弃原始回购协议中的合并,或者告诉原始回购协议接受我的推送,即使这不是一个快进过程

谢谢

这篇文章总结得很好:

这个错误一开始可能有点难以克服,不要害怕。
简单地说,git无法在远程上进行更改而不丢失提交,因此它拒绝推送
通常这是由另一个用户推到同一分支引起的。
您可以通过获取和合并远程分支,或者使用pull同时执行这两个操作来解决这个问题

在其他情况下,此错误是使用诸如
git commit--amend
git rebase
等命令在本地进行破坏性更改的结果

(在您的例子中,git重置--hard)

虽然您可以通过将
--force
添加到
push
命令来覆盖遥控器,但只有在您完全确定这是您想要做的事情时,才应该这样做。
强制推送可能会导致获取远程分支的其他用户出现问题,这被认为是不好的做法
当有疑问时,不要用力推

问题“”补充说,您需要知道潜在的远程配置receive.denynonfastforts,它可以拒绝您的“
git push--force

在这种情况下,需要进行某种恢复:替代方案在“”中讨论