git reset
和 git revert
都是在日常使用低频出现都命令,同时这两个命令长的也比较像(只是长的比较像)。
所以这里对两个命令进行对比,做个记录:
git reset
:
回滚 操作,移动到指定到commit,这之后到commit会被丢弃。
git reset --hard HEAD^
or
git reset 指定commit // 移动到指定的commit,并把当前位置和指定位置的文件差异加入working tree.
or
git reset --hard 指定commit // 移动到指定的commit,并重置working tree.
git revert
:
撤销 操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销
作为一次最新的提交.
git revert HEAD
or
git revert 指定commit
// 创建一个新的commit, 内容和指定的commit内容相反。
END!