git reset
提交层面
会直接舍弃掉已经提交的版本
- example:git reset HEAD~ --h
- explain:将工作树,缓存区,提交恢复到上一个版本。
- other usage:git reset HEAD~ --mixed(soft)
- explian:--mixed 参数将只回复缓存区,提交。--soft 参数只恢复提交。
文件层面
会将提交中的版本放入缓存中
- example:git reset HEAD~ myfile.txt
- explain:将缓存恢复到上一个版本,对文件层面--mixed 等参数无效
git revert
提交层面
撤销掉某个提交,将撤销操作当做新的提交进行提交,此方法不会改写历史,是安全的,可用于公共分支。
- example:git revert HEAD~
- explain:取消上个版本的提交,并且将这个提交操作作为一个新的提交
文件层面
无
git checkout
提交层面
会将工作区切换到制定的版本
- example:git checkout HEAD~
- explain:将工作区切换到上上个版本,主要用于浏览 old version。最好在 checkout 的时候新建一个分支。git checkout HEAD~ -b tmp_branch
文件层面
将提交中的版本切换到工作区
- example:git checkout myfile.txt HEAD~
- explain:将上上个版本切换到工作区,这个操作将舍弃掉上上个版本之后的更改。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于