使用git管理代碼避免不了代碼的回滾,先介紹一下git reset的使用,然後介紹下各種場景如何回滾
一、git reset 【<mode>】 【<commit>】
重置當前分支的HEAD 到【<commit>】提交的版本,並且根據【<mode>】決定是否修改暫存區和工作去的內容。【<mode>】模式默認是--mixed 。下面是各個參數使用的差別:
1. --soft
僅僅移動當前Head指針,不會改變工作區和暫存區的內容
2. --mixed
是reset的默認參數,移動head指針,改變暫存區內容,但不會改變工作區
3. --hard
當前head指針、工作區和暫存區內容全部改變
那我個人的理解,--soft用處不是很多,當commit之後想撤回commit,但還不想覆蓋工作區內容時,使用--mixed;當想完全回滾時,使用--hard來覆蓋工作區。
二、 回滾文件