git reset 和 git revert,git log 和 git reflog 比較
前言:仙兒苦設相思局,尋歡誤入冷香處
故事背景: 那一晚 月黑風高之夜 李尋歡 在自詡為江湖正義的一群偽君子設計好的圈套(repository)中做了(commit)三件事:
1 獨自赴約,進入林仙兒的房間(commit 1)
2 明知冷香小築是趙正義的陷阱 還是去了(commit 2)
3 沒做任何辯解 說了句 既然你們認定我就是梅花盜,那誰來第一個接我的飛刀(commit 3)
如果世界上有月光寶盒(reset) 我願意為李尋歡回退時空 抹掉步驟1後的痕迹
git reset 1 提交後退
如過沒有 就做將步驟2 進行一個相反做法
用 git log 查看結果:
獨自赴約,進入林仙兒的房間
git reflog 查看結果
獨自赴約,進入林仙兒的房間
明知冷香小築是趙正義的陷阱 還是去了
沒做任何辯解 說了句 既然你們認定我就是梅花盜,那誰來第一個接我的飛刀
獨自赴約,進入林仙兒的房間
git revert 1 提交前進
git log 查看結果:
獨自赴約,進入林仙兒的房間
明知冷香小築是趙正義的陷阱 還是去了
沒做任何辯解 說了句 既然你們認定我就是梅花盜,那誰來第一個接我的飛刀
不去冷香小築了
git reflog查看
獨自赴約,進入林仙兒的房間
明知冷香小築是趙正義的陷阱 還是去了
沒做任何辯解 說了句 既然你們認定我就是梅花盜,那誰來第一個接我的飛刀
不去冷香小築了
總結:
如果我們要回退的是一個commit可能是很久以前的提交,那麼肯定使用使用revert來進行操作的,但是如果我們是要回退最新一條的提交或者說是最新的提交到以前的一次提交,那麼無疑選擇reset是最便捷也更加優雅的方法
※Spark2.1.0事件匯流排分析——LiveListenerBus詳解
※Spring MVC之DispatcherServlet初始化詳解
TAG:程序員小新人學習 |