前言
這是小明結婚生子后,老婆小紅要整容的故事。
了解整容方案
- 回到過去,找到以前的樣子:
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版本控制管理》