——————強(qiáng)制回滾歷史版本——————
一、idea Terminal?
第一步:復(fù)制版本號(hào) (右擊項(xiàng)目–> Git --> Show History -->選中要回退的版本–>Copy Revision Number,直接復(fù)制;)
第二步:idea Terminal (確認(rèn)項(xiàng)目)
輸入指令:git reset --hard 版本號(hào)
示例:
git reset --hard test00100100110101010101
第三步:指令 git push -f
示例:
git push -f
注釋:
在git中,“push -f”的意思是“強(qiáng)制更新”,是“push -force”的縮寫,該命令的作用是將自己本地倉(cāng)庫(kù)的代碼直接推送至倉(cāng)庫(kù),完全以該命令提交為準(zhǔn),之前提交都會(huì)被覆蓋。
備注:
reset三種模式區(qū)別和使用場(chǎng)景
區(qū)別:
--hard:重置位置的同時(shí),直接將 working Tree工作目錄、 index 暫存區(qū)及 repository 都重置成目標(biāo)Reset節(jié)點(diǎn)的內(nèi)容,所以效果看起來(lái)等同于清空暫存區(qū)和工作區(qū)。
--soft:重置位置的同時(shí),保留working Tree工作目錄和index暫存區(qū)的內(nèi)容,只讓repository中的內(nèi)容和 reset 目標(biāo)節(jié)點(diǎn)保持一致,因此原節(jié)點(diǎn)和reset節(jié)點(diǎn)之間的【差異變更集】會(huì)放入index暫存區(qū)中(Staged files)。所以效果看起來(lái)就是工作目錄的內(nèi)容不變,暫存區(qū)原有的內(nèi)容也不變,只是原節(jié)點(diǎn)和Reset節(jié)點(diǎn)之間的所有差異都會(huì)放到暫存區(qū)中。
--mixed(默認(rèn)):重置位置的同時(shí),只保留Working Tree工作目錄的內(nèi)容,但會(huì)將 Index暫存區(qū) 和 Repository 中的內(nèi)容更改和reset目標(biāo)節(jié)點(diǎn)一致,因此原節(jié)點(diǎn)和Reset節(jié)點(diǎn)之間的【差異變更集】會(huì)放入Working Tree工作目錄中。所以效果看起來(lái)就是原節(jié)點(diǎn)和Reset節(jié)點(diǎn)之間的所有差異都會(huì)放到工作目錄中。
請(qǐng)記住,使用 git reset 時(shí)要小心,并始終確保在進(jìn)行任何重要更改之前備份文件。