在';git reset——硬头~1';本地回购协议

在';git reset——硬头~1';本地回购协议,git,Git,我的工作站上有一个本地git repo,我将它推到dropbox位置,这样我就可以通过git pull remote dropbox将它拉到我的笔记本电脑上 昨天,我在我的工作站上签入了一个变更,提交了它,并git-push-dropbox'。我没有从我的笔记本电脑上拉一个git,因为我怀疑我最终会放弃那个承诺 今天我决定放弃这个承诺,所以在我的工作站上我做了: git reset --hard HEAD~1 到目前为止,一切顺利。现在我想把这个推回到Dropbox,这样在我的笔记本电脑上我就

我的工作站上有一个本地git repo,我将它推到dropbox位置,这样我就可以通过
git pull remote dropbox
将它拉到我的笔记本电脑上

昨天,我在我的工作站上签入了一个变更,提交了它,并
git-push-dropbox
'。我没有从我的笔记本电脑上拉一个
git,因为我怀疑我最终会放弃那个承诺

今天我决定放弃这个承诺,所以在我的工作站上我做了:

git reset --hard HEAD~1
到目前为止,一切顺利。现在我想把这个推回到Dropbox,这样在我的笔记本电脑上我就可以合并并提交了。因此,在我的工作站上,我尝试:

git push dropbox
git抱怨说:

!![已拒绝]主控->主控(非快进)错误:失败 将某些引用推送到“\My Dropbox\dev\repos\xcast.git”以阻止您 由于丢失历史记录,非快进更新被拒绝合并 再次按下前进行远程更改(例如“git pull”)。参见“注释” “git推送--帮助”的“关于快进”部分了解详细信息


如何使我的工作站和Dropbox重新同步?

强制推送应该可以工作:
git push-f Dropbox


Git在抱怨,因为你的遥控器仍然有额外的提交,因此你在历史方面落后于它。

这样做会有负面影响吗?@Grunch:是的,你在遥控器中丢失了提交。如果您与其他人共享了该提交,历史记录可能会有分歧。@Grunch是的,只有在您确定没有人已经拉取了更改(或者您是唯一有权访问的人)时才强制推送@larsmans:远程设备在我自己的所有计算机之间共享。自从昨天那次命运多舛的犯罪以来,我没有在其他任何一台机器上从遥控器拉过一次。这是否意味着在这种情况下,历史不会发生分歧?@Grunch如果他们还没有退出,你应该没事。