【问题标题】:git reset remote headgit 重置远程头
【发布时间】:2016-07-05 09:05:53
【问题描述】:

我的同事错误地将一些提交推送到我们的工作分支,现在我想在本地和远程回滚到以前的提交。

我对选定的提交使用 reset --hard,我本地分支中的 HEAD 移动到选定的提交,然后我使用

git push -f origin working_branch:working_branch

推头 但我得到否认非快进错误。

我应该如何在本地和远程回滚到选定的提交?

提前致谢!

【问题讨论】:

    标签: git rollback git-push git-reset


    【解决方案1】:

    您可以使用 git revert 命令 - https://git-scm.com/docs/git-revert 恢复该提交。 git revert 创建另一个还原更改的提交。同样使用--force 推送也不安全,因为您可能会覆盖某人已经获取的树。

    【讨论】:

    • 感谢您的回答。这就是我最终做到的。
    • 没问题,顺便说一句,它有帮助 - 你可以接受答案:)
    【解决方案2】:

    您可以使用 git reset --hard HEAD~1 删除最新的提交,然后执行

    git push origin master --force

    推送到服务器

    【讨论】:

    • 这是我首先尝试的,但 git 拒绝推送到远程服务器。我得到了否认非快进错误。
    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2013-05-11
    • 2012-07-30
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多