git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用

三条命令的作用都是撤销,但工作的方式不同。

首先,我依次建了4个文件。

git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用_第1张图片
1.png

一、git revert xxx

git revert xxx命令会对某次操作进行撤销,但是这次操作之前或者之后的commit都将被保留,并把这次撤销当做一次新的提交。
例:执行git revert 9da222b,本地文件会删掉c.html,并生成一次log记录。

git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用_第2张图片
2.png

二、git reset --hard xxx

git reset --hard xxx会重置当前的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致。
例:执行git reset --hard e5225ab,本地文件和commit信息都回退了。

git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用_第3张图片
3.png

三、git reset --soft xxx

git reset --soft xxx会重置当前的HEAD为指定commit,但保持暂存区和工作区不变。
例: 执行git reset --soft 9da222b,commit信息已经回退,但本地文件不改变。

git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用_第4张图片
4.png

你可能感兴趣的:(git reset --hard xxx、git reset --soft xxx、git revert xxx的区别与作用)