1. 程式人生 > 其它 >git放棄本地檔案修改

git放棄本地檔案修改

寫程式碼時,本來想切換到主分支,但是切換失敗,因為我本地的程式碼修改了,所以想要放棄本地修改的程式碼(或者有時程式碼改的亂七八糟想放棄本地修改)

參考:https://www.cnblogs.com/qufanblog/p/7606105.html

1. 未使用git add 快取程式碼

  • 使用git checkout -- filename,注意中間有--
git checkout -- filename
  • 放棄所有檔案修改 git checkout .
git checkout .
  • 此命令用來放棄掉所有還沒有加入到快取區(就是 git add 命令)的修改:內容修改與整個檔案刪除
  • 此命令不會刪除新建的檔案,因為新建的檔案還沒加入git管理系統中,所以對git來說是未知,只需手動刪除即可

2. 已使用git add 快取程式碼,未使用git commit

  • 使用 git reset HEAD filename
git reset HEAD filename
  • 放棄所有檔案修改 git reset HEAD
git reset HEAD
  • 此命令用來清除 git 對於檔案修改的快取。相當於撤銷 git add 命令所在的工作。在使用本命令後,本地的修改並不會消失,而是回到了第一步1. 未使用git add 快取程式碼,繼續使用用git checkout -- filename,就可以放棄本地修改

3. 已經用 git commit 提交了程式碼

  • 使用 git reset --hard HEAD^ 來回退到上一次commit的狀態
git reset --hard HEAD^

  • 或者回退到任意版本git reset --hard commit id ,使用git log命令檢視git提交歷史和commit id
git reset --hard commit id