git 回滚的三种方式
按照从旧到新的顺序 你依次提交了 1 2 3 4 5
现在你想回到1 如何操作
第一种方法 hard reset
git reset --hard
执行命令后 你会发现 效果实现了 东西都回到了那次更改 但是2345的更改都没了
并且你会发现 你有更新
这是因为这个hard reset 只会改本地的 远程的不改
一更新就全回来了 白回滚
如何把更改推给服务器呢?
你需要push 普通的push没有效果
你需要这个
使用这个命令 更新就没有了
你实现了彻底的回滚。
2
还有一个git reset --soft
执行后你会发现 本地并没有更改
一切保持了现状
只是你的提交历史都没了
这些提交历史都回到了你的本地
并且放到了staged changes 里
所以你可以回退 撤回文件更改
但是依然可以拉取 也就是没同步到服务器 也需要你push
这个和hard比 好处就非常明显了
如果你一次提交了100个文件 但是你只想撤回其中某一个的更改 你只需要软回复 更改后再提上去即可
那 git revert 是啥?
历史记录不会有任何更改
他会创建一个新的合并 是你指定操作的逆向操作 比如你设置3 为 5 那他就是 5 变为 3
然后合并回来