Git推后失败'git reset --hard HEAD〜1'本地回购

问题描述:

我在我的工作站上有一个本地git回购,我推到一个保管箱位置,这样我就可以通过git pull remote dropbox将它拉下到我的笔记本电脑。Git推后失败'git reset --hard HEAD〜1'本地回购

昨天我检查了我的工作站上的一个变更,提交了它并git push dropbox'编辑了它。我没有从我的笔记本电脑上做git pull,因为我怀疑我最终会抛弃这个承诺。

今天,我决定把那个犯了,所以我的工作站上我所做的:

git reset --hard HEAD~1 

到目前为止,一切都很好。现在我想推回到Dropbox,这样在我的笔记本电脑上我可以合并并承诺从那里。所以,我的工作站上我想:

git push dropbox 

和Git抱怨说:

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '\My Dropbox\dev\repos\xcast.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

如何让我的worstation和Dropbox回来再次同步?

力推应该工作:git push -f dropbox

Git的抱怨,因为你的遥控器还有额外的承诺,这样的话你是它背后的历史方面。

+1

这样做有没有负面影响? – 2012-07-13 15:07:43

+0

@Grunch:是的,你在遥控器中失去了提交。如果你与其他人分享了这个提交,历史可能会有所分歧。 – 2012-07-13 15:08:33

+1

@Grunch是的,只有当你确定没有人已经拉动变化(或者你是唯一一个有访问权的人)时,才会进行强制推送。 – jli 2012-07-13 15:09:21