git的回滚操作

已经 push 到远程的

回滚其中的某个 commit
场景: 你已经执行了 git push, 把你的修改发送到了远程,但是这些 commit 中其中一个是有问题的,你需要回滚那一个 commit.
方法: git revert
原理: git revert 会产生一个新的 commit,它和指定 SHA 对应的 commit 是相反的(或者说是反转的)。如果原先的 commit 是“物质”,新的 commit 就是“反物质” —— 任何从原先的 commit 里删除的内容会在新的 commit 里被加回去,任何在原先的 commit 里加入的内容会在新的 commit 里被删除。
这是 Git 最安全、最基本的撤销场景,因为它并不会改变历史 —— 所以你现在可以 git push 新的“反转” commit 来抵消你错误提交的 commit。
git的回滚操作_第1张图片
回滚到某个 commit
场景: 你已经执行了 git push, 把你的修改发送到了远程,但是这些 commit 都是有问题的,而且这些 commit 没有合并线,你需要回滚到之前的 commit.(注:如果这些 commit 中有合并线,即有过其他合并,这个方法不适用)
方法: git revert HEAD…
原理: git revert 会产生一个新的 commit,它和指定 SHA 对应的 commit 是相反的(或者说是反转的)。如果原先的 commit 是“物质”,新的 commit 就是“反物质” —— 任何从原先的 commit 里删除的内容会在新的 commit 里被加回去,任何在原先的 commit 里加入的内容会在新的 commit 里被删除。
这是 Git 最安全、最基本的撤销场景,因为它并不会改变历史 —— 所以你现在可以 git push 新的“反转” commit 来抵消你错误提交的 commit。
git的回滚操作_第2张图片

你可能感兴趣的:(git,java)