5

我在我的主分支中进行了一些我认为不再合适的更改。为了争论,我有一个名为的提交哈希791fda4e1ac0e1a393e01340bf0fba3f333a73ff,我现在想创建我的 HEAD,因为那时一切都在 repo 中稳定了。我尝试执行以下操作:

git reset 791fda4e1ac 
git reset --soft HEAD@{1} 
git commit -m "Revert to 791fda4e1ac"
git reset --hard 

然而,当我做 a 时git push origin,我被拒绝了,因为 origin 认为这是一个非快进推动:

 ! [rejected]        master -> master (non-fast-forward)

将我的 HEAD 恢复为提交哈希 791fda4e1ac 并将源服务器也放在那里的正确方法是什么?

4

2 回答 2

10

它被拒绝是因为它不是快进的——它丢弃了其他人可能建立的历史。

而是使用git revert创建一个新的提交来撤消现有提交的效果。

或者,如果您确定没有其他人在使用您的存储库并且您将来不关心这些提交,请继续git push -f忽略警告。

于 2013-01-09T17:41:45.023 回答
2

您必须执行强制推送 ( git push -f origin)。

于 2013-01-09T17:37:44.613 回答