git的撤銷操做:reset、checkout和revert
這三個命令均可以用於撤銷。
reset和checkout能夠做用於commit或者文件,revert只能做用於commit。git
git checkout readme.txt git checkout . git checkout -- readme.txt // 以防判斷成分支
git reset HEAD git reset HEAD <readme.txt>
git reset HEAD~2 git reset --hard HEAD~100 //往上100個版本
還有幾個參數可選
--soft:只撤銷了git commit操做,保留了git add操做
--mixed:撤銷了git commit, git add操做
--hard:撤銷了至工做區segmentfault
git revert HEAD~
git revert <普通commitId>
git revert <merge commitId> -m <parent> 必須選擇合併自哪一個分支,通常爲 1,2,可經過git show <merge commitId> 展現
revert經過新建一個commit來撤銷一次commit所作的修改,是一種安全的方式,並無修改commit history。安全
git reset HEAD~ git push -f
參考連接:Git 之 revertspa
git reflog // 查看commitId git reset commitId
git clean git clean -n //告訴你哪些文件會被刪