git 回滾與撤銷


git 回滾與撤銷

git的撤銷與回滾在平時使用的還是比較多的,比如像將某個修改后的文件撤銷到上一個版本,或者是想撤銷某次多余的提交,都要用到git的撤銷和回滾操作。
撤銷分兩種情況,一個是commit之前,一個是commit之后。

一、git commit 之前
a.未添加到暫存區的撤銷(沒有git add)
可以通過
git checkout -- filename 來撤銷修改
將多個文件一次性撤銷可以用
git checkout -- .

b.已經添加進暫存區的撤銷(git add后)
從暫存區撤銷
git reset HEAD filename
一次性將所有暫存區文件撤銷回來
git reset HEAD


二、git commit之后
如果當commit提交后想撤銷的話,這就需要 revert 命令。git revert 命令是撤銷某次操作,而此次操作之前和之后的提交記錄都會保留。
通過git log查看提交記錄
然后使用revert 后面跟commitId 撤銷此次提交
git revert commitId
然后再推送到遠端,更新遠端代碼,修改的文件就撤銷回來了。注意的是revert奇數次生效,偶數次又回到之前的修改狀態。

還有就是如果想回到之前的某個版本,可以用reset命令,可以回退到某次提交,那 該提交之后的提交都會回滾,不過這種覆蓋是不可逆的,之前的提交記錄都沒有了。所以避免使用reset。
用法:
git reset --hard commitId (--hard 強制將緩存區和工作目錄都同步到指定的提交)
然后再提交到遠端覆蓋。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM