git reset --soft驻颜术(恢复文件之前的状态)
前言
这是小明结婚生子后,老婆小红要整容的故事。
了解整容方案
- 回到过去,找到以前的样子:
git reset --soft
- 整容成之前的样子:
git checkout
- 回到未来:
git reset --soft
ps:这里 我理解成一次commit点,记录了当前索引的指向。
修改后,工作目录变化。git add后将修改索引指向(新文件/内容)。再次git commit后,将当前commit点与索引关联。
整容过程
-
确定要回到的年代:
回顾5e48【小华刚出生那年】,小红感叹自己【脸上还没有岁月的痕迹】。
-
确认2030年目前状况:
要回到过去,找回小红以前的样子。
首先要保证这次穿越平平安安的。
-
回到过去:
git reset --soft 小华出生那一年的commitId
-
消去小红脸上的岁月痕迹:
git checkout xiaohong
-
消掉痕迹后,再回到未来:
git reset --soft 2030年的commitId
结论
除了小红脸上的痕迹消去了,什么都没变(小明、儿子都在)。
一次完美的整容!
强烈推荐大家利用git reset --soft
为老婆/女朋友青春永驻。
附: 利用 git reset --mixed实现
–mixed是 git reset
的缺省值。
参考
参考《Git版本控制管理》