情況1:文件已作出修改 但是沒進行 add操作 想要還原文件
git checkout 指定的文件
git checkout . (還原全部文件)
情況2:文件作出修改 已進行add操作 但是沒有 commit 想要刪除add
git reset HEAD 撤銷全部已提交修改
git reset HEAD filename 撤銷對指定文件的修改
情況三:文件作出修改 已進行過 commit 操作但是沒有push 想要刪除commit
git log 查看節點
commit xxxxxxxxxxxxxxxxxxxxxxxxxx
Merge:
Author:
Date:
然后
git reset commit_id
情況四:文件作出修改已push到倉庫
此次操作之前和之后的commit和history都會保留,並且把這次撤銷作為一次最新的提交
git revert HEAD 撤銷前一次 commit
git revert HEAD^ 撤銷前前一次 commit
git revert commit-id (撤銷指定的版本,撤銷也會作為一次提交進行保存)
git revert是提交一個新的版本,將需要revert的版本的內容再反向修改回去,版本會遞增,不影響之前提交的內容。
也可以使用reset
git reset --hard HEAD^ reset是指將HEAD指針指到指定提交,歷史記錄中不會出現放棄的提交記錄。