寫代碼時(shí),本來想切換到主分支抹缕,但是切換失敗,因?yàn)槲冶镜氐拇a修改了,所以想要放棄本地修改的代碼(或者有時(shí)代碼改的亂七八糟想放棄本地修改)
參考:https://www.cnblogs.com/qufanblog/p/7606105.html
1. 未使用git add 緩存代碼
- 使用git checkout -- filename堕仔,注意中間有--
git checkout -- filename
- 放棄所有文件修改 git checkout .
git checkout .
- 此命令用來放棄掉所有還沒有加入到緩存區(qū)(就是 git add 命令)的修改:內(nèi)容修改與整個(gè)文件刪除
- 此命令不會(huì)刪除新建的文件,因?yàn)樾陆ǖ奈募€沒加入git管理系統(tǒng)中晌区,所以對(duì)git來說是未知摩骨,只需手動(dòng)刪除即可
2. 已使用git add 緩存代碼,未使用git commit
- 使用 git reset HEAD filename
git reset HEAD filename
- 放棄所有文件修改 git reset HEAD
git reset HEAD
- 此命令用來清除 git 對(duì)于文件修改的緩存朗若。相當(dāng)于撤銷 git add 命令所在的工作恼五。在使用本命令后,本地的修改并不會(huì)消失哭懈,而是回到了第一步1. 未使用git add 緩存代碼灾馒,繼續(xù)使用用git checkout -- filename,就可以放棄本地修改
3. 已經(jīng)用 git commit 提交了代碼
- 使用 git reset --hard HEAD^ 來回退到上一次commit的狀態(tài)
git reset --hard HEAD^
- 或者回退到任意版本git reset --hard commit id 遣总,使用git log命令查看git提交歷史和commit id
git reset --hard commit id