git回滾版本
一、通過git命令
1、恢復到一個舊版本并且舊版本后的都不要
關鍵命令:git reset
回退原理:git reset --hard命令會將HEAD指針、當前分支指針和索引區都移動到指定的commit ID,從而重置工作區為該版本。
步驟一:查看版本號。git log查找歷史或使用git reflog命令查找合并操作的commit ID,找到需要回滾的目標版本號
步驟二:使用 git reset --hard 版本名 命令將版本回退。此命令會將HEAD指針、當前分支指針和索引區都指向指定的commit ID,并重置工作區為該版本。
步驟三:使用 git push -f 提交更改。此時如果用“git push”會報錯,因為我們本地庫HEAD指向的版本比遠程庫的要舊,用“git push -f”強制推上去。
2、恢復到一個舊版本并且舊版本后的都保留
關鍵命令:git revert
回退原理:git revert命令會生成一個新的提交,該提交會包含撤銷指定提交的更改,從而達到回退版本的效果
步驟一:查看版本號。git log查找歷史或使用git reflog命令查找合并操作的commit ID,找到需要回滾的目標版本號
步驟二:使用 git revert -n 版本號 反做。 這里可能會出現沖突,那么需要手動修改沖突的文件。而且要git add 文件名
步驟三:提交。使用 git commit -m 版本名 提交。
步驟四:使用 git push 推上遠程庫。
二、通過IDEA回退版本
1、獲取版本號。
方式一:打開IDEA的終端,輸入 git log 顯示歷史提交記錄。
方式二:右擊項目–> Git --> Show History -->選中要回退的版本–>Copy Revision Number,直接復制;
2、輸入命令 。git reset --hard 版本號
3、輸入正式回滾命令。 git push -f -u origin master
三、總結一些回退命令
1、命令
命令 作用
git log 查看歷史提交記錄
git reset HEAD 回退到當前版本(取消暫存區的內容)
git reset --hard HEAD^ 回退到上個版本
git reset --hard HEAD^ 回退到上上個版本
git reset --hard id (commit hash值) 回退到指定版本
2、git reset --hard & git reset --soft & git reset --mixed 的區別
hard -> 工作區、暫存區、commit 同時回滾
soft -> 保留工作目錄、暫存區
mixed->保留工作目錄

浙公網安備 33010602011771號