reset 和 revert 的区别
git reset
reset
git reset [--soft | --mixed | --hard
-
- -mixed
工作区不变,只是将版本库和暂存区 信息回退到了某个版本.
-
- -soft
工作区不变,只回退到commit 信息到某个版本.暂存区不变,直接commit即可再次提交.
-
- -hard
工作区和暂存区都会回退到某个版本.(本地代码仓库源码)
如果在远程push代码以后,也使用
reset --hard <commit...>
回退代码,这样你线上的代码并没有变,当你再次提交的时候很可能会出现代码冲突问题。
git revert
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…
git revert --continue
git revert --quit
git revert --abort
git revert 用法是撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销
作为一次最新的提交,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。
-
git revert HEAD
撤销上一次提交
-
git revert HEAD~
撤销上上一次提交
-
git revert commit ...
撤销指定的版本,撤销也会作为一次提交进行保存
网友评论