轉自:http://blog.csdn.net/u010416101/article/details/78142697、https://www.zhihu.com/question/48178380
方法一
可以新建一個分支,然后選擇你想回退到到那個版本,切換到新分支之后,代碼就是那個版本了,可以對那個版本進行操作,修改等,如果想回到之前最新版本,直接切換分支到原來到分支即可,這樣相互不影響,Reset master to this commit 只有是hard的時候,項目里代碼內容才是你想切到的版本內容,不過這樣會把你新改的代碼丟失了。如果需要保留后面commit的更改就選mixed。


方法二
1. 原理
原理,我們都知道Git是基於Git樹進行管理的,要想要回滾必須做到如下2點:
- 本地頭節點與遠端頭節點一樣(Git提交代碼的前提條件);
- 於本地頭節點獲取某次歷史節點的更改。
說的有點抽象,以圖來進行形容。
2. 詳細步驟
步驟簡記如下:
兩個節點 當前節點(最新節點) 與 歷史節點
1 點擊歷史節點,重置到歷史節點,選擇硬合並;
2 點擊當前節點,重置到當前節點,選擇軟合並;
3 提交;
PS: 注意檢出Head 不是重置步驟!Head節點是不屬於任何一個節點的。
3. 詳細步驟(圖示)
1 點擊歷史節點,重置到歷史節點
2. 選擇硬合並;
3. 點擊當前節點,重置到當前節點;
4. 選擇軟合並;
5. 提交;