Git reset --hard commit_id(可用 git log –oneline 查看)
git push origin HEAD --force #遠程提交回退
下面的命令也能夠實現遠程版本回退nginx
git reset --hard HEAD~1 git push --force
git reset命令後面是須要加2種參數的:」–hard」
和」–soft」
。git
這條命令默認狀況下是」–soft」。執行上述命令時,這該條commit號之 後(時間做爲參考點)的全部commit的修改都會退回到git緩衝區中。sql
使用git status命令能夠在緩衝區中看到這些修改。而若是加上」–hard」參數,則緩衝區中不會存儲這些修改,git會直接丟棄這部份內容。服務器
但須要注意的一 個問題是:因爲這樣的重置是直接在本地的修改,沒法提交到遠程服務器,若是直接丟棄的內容已經被推到遠程服務器上了,則會形成本地和服務器沒法同步的問題。spa
即git reset –hard只能針對本地操做,不能針對遠程服務器進行一樣操做。若是從本地刪掉的內容沒有推到服務器上,則不會有反作用;若是被推到服務器,則下次本地和 服務器進行同步時,這部分刪掉的內容仍然會回來。code
而上面注意中提到的問題則能夠很好的被git revert 命令解決。同步
git revert + commit 號
該命令撤銷對某個commit的提交,這一撤銷動做會做爲一個新的修改存儲起來,這樣,當你和服務器同步時,就不會產生什麼反作用。it