1、如何將在工做區中修改的文件進行回滾(git checkout)git
2、如何將暫存區修改的文件進行回滾(git reset)vim
3、如何將提交後的文件進行回滾(git reset、git revert)bash
4、遠程機器如何進行回滾spa
git checkout -- README.md
git checkout .
git reset README.md
git reset
git reset HEAD^ git reset @^
Tips:這個命令是將提交後的文件回滾到工做區的狀態,若是修改以後須要再次
git add .
git reset commitID git revert -n commitID
不建議,可能沒有權限,危險操做code
git reset commitID git push -u origin master -f
至關於打補丁,建議使用blog
git revert -n commitID # 手動處理衝突 # if 處理衝突完畢 git revert --continue # if 退出不處理衝突 git revert --abort # 進入vim界面 編寫commit describe並保存 git push origin master
上面回滾中用到了 git reset
和 git revert
兩種方法,下面進行一下分析:ip
比較 | 相同點 | 不一樣點 |
---|---|---|
git reset |
能夠進行回滾操做 | git reset 回滾以後commitID 後面的版本就沒有記錄了。<br/>若是想要回滾到將來節點,要知道將來節點的commitID 。<br/>因此在回滾前最好先知道當前的commitID |
git revert |
能夠進行回滾操做 | git revert 回滾操做以後,會進行文件的手動去留,<br/>而後新生成一個版本號,以前的提交仍是在的。 |