git 放棄本地修改 暫存區修改 已 commit 的修改 已push到遠程倉庫的修改


1>> git 放棄本地修改(即沒 add 也沒 commit)

git checkout —fliename   放棄所有的修改 git checkout .  

(不要寫成 git checkout branchName 這就成了切換分支了)

2>> git 放棄暫存區的修改

git reset HEAD filename ()  文件只是會撤銷 add 操作 本地修改不會消失

需要繼續使用第一步的操作 git checkout —filename

3>> git 放棄已經 commit 的修改

git reset —hard HEAD^ 回到上一次 commit 的狀態  也可以 git reset —hard commitID

4>> git 放棄已經 push 的修改 

有兩種方法 一種是 reset 一種是 revert

git revert HEAD  

git revert commitID 與git reset 的區別是

git revert 是提交一個新的版本,將需要 revert 的版本的內容反向修改回去,版本會遞增, 不影響之前提交的內容, 是用一次新的 commit 來回滾之前的 commit, git reset 只是把 HEAD 指針向后移動一下,直接刪除指定的 commit, 所以盡量使用 revert

下面是一個列表關於使用場景和作用域

 

  • 命令作用域常用情景

git reset 提交層面 在私有分支上舍棄一些沒有提交的更改

git reset 文件層面 將文件從緩存區中移除

git checkout 提交層面 切換分支或查看舊版本

git checkout 文件層面 舍棄工作目錄中的更改

git revert 提交層面 在公共分支上回滾更改

git revert 文件層面 (然而並沒有)

 


免責聲明!

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



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