Git撤銷修改命令
一、撤銷修改(git add/rm 之前)
git checkout -- * //是撤銷從上次提交之后所做的所有修改 git checkout -- filaname //是撤銷從上次提交之后的單個文件的修改
二、git add/rm 之后,還未git commit
情況一:
從暫存區撤出
git reset HEAD <file> //reset 某個文件 git reset HEAD . //reset 所有
情況二:
如果是 git rm 的文件,需要執行下面的,把它撤回來,add 的文件不能用(用了會撤回修改,如果想撤回修改前的,也可以用下面的命令)
git checkout -- file_name //注:如果執行 git checkout -- . 則會把之前add 更改的文件也給撤回了
三、撤銷修改 git commit -m "" 、還未執行git push
1. 找到上次git commit的 id,找到你想撤銷的commit_id
git log //查看日志
2. 完成撤銷,同時將代碼恢復到前一commit_id 對應的版本
git reset --hard commit_id //執行撤銷
注:不保留commit 之前修改的代碼,reset之后,代碼回滾到上個版本
3.完成Commit命令的撤銷,但是不對代碼修改進行撤銷,可以直接通過git commit 重新提交對本地代碼的修改。
git reset commit_id //注釋
注:保留commit之前修改的代碼,撤銷后,代碼是修改后的狀態,還能繼續修改
四、對於已經push的版本,進行回退
1、第一步:
git reset --hard 版本號 //本地回退到指定的版本
2、第二步:
git push -f origin dev //將遠程的也回退到指定版本