【问题标题】:how to revert in Git?如何在 Git 中恢复?
【发布时间】:2012-06-09 02:09:28
【问题描述】:

当前的 git 日志:

commit foo456
Merge: foo123 bar123
Author: foo

Merge branch 'master' of ......

commit foo123
Author: foo

change b

commit bar123
Author: bar

stable version

我是 foo,如果我想恢复到稳定版本(提交 bar123),我应该使用 git revert HEAD~1 还是 git revert HEAD~2 ?也就是说,是不是 Merge(commit foo456) 也是有效的 commit , 我有点困惑。

【问题讨论】:

    标签: git git-revert


    【解决方案1】:

    如果您想丢弃合并提交并返回到bar123,请使用:

    git reset --hard bar123
    

    此时,您可以再次尝试合并。

    git revert 命令创建了一个 new 提交,该提交会反转先前提交的效果,但是为将来的合并而存在的还原提交可能会造成混淆和问题。

    【讨论】:

    • 另外,如果您已经推送,则需要git push -f origin branchname 以便它强制更新。
    • git reset 直接改远程分支,之后新的HEAD标签commit会被drop掉吧? .如果我使用git revert HEAD~2 然后git push,那是一样的,对吧?
    • 不,git resetgit revert 非常不同。 git revert 命令创建一个 new 提交,它可以逆转先前提交的效果。 git reset 命令只是将当前 HEAD 指针移回历史记录中的先前位置。
    猜你喜欢
    • 2018-10-17
    • 2019-04-11
    • 2018-06-03
    • 2018-06-22
    • 2015-09-02
    • 2016-11-11
    • 2011-01-08
    • 2012-09-16
    相关资源
    最近更新 更多