git reset hard/soft git revert 区别

# 区别

## git reset --hard xxx:全部退回到上一版本,结果很彻底不会保留这个版本修改过的内容。

## git reset --soft xxx:只退回commit,不涉及内容。

## git revert xxx:撤销指定的某一次提交,而这次撤销也会被提交进行保存,原来未提交修改过的内容也会被保留。

# 演示

    我先建立a.md然后 reset --hard掉,然后建立b.md,reset --soft掉,最后建立c.md,revert HEAD掉

![a](https://i.loli.net/2018/03/24/5ab5b437d1f75.png)

![b](https://i.loli.net/2018/03/24/5ab5b4930efe7.png)

![c](https://i.loli.net/2018/03/24/5ab5b4b816525.png)

最后git log一下

你可能感兴趣的:(git reset hard/soft git revert 区别)