git撤銷已經push的提交
阿新 • • 發佈:2018-12-14
簡要版:
1. git log
2. git reset --soft 43dc0de914173a1a8793a7eac31dbb26057bbee4
3. git push origin master --force
詳細版:
1. 使用git log檢視提交記錄,如:
- bogon:project name$ git log
- commit 6c251cca5f6cdb1aa8850737009f132894deab5e
- Author: 名字 <[email protected]>
- Date: Thu Dec 13 14:29:21 2018 +0800
- 生成應用時長
- commit 43dc0de914173a1a8793a7eac31dbb26057bbee4
- Author: 名字 <[email protected]>
- Date: Thu Dec 13 13:54:32 2018 +0800
- 上網策略列表
2. 我們要撤銷“應用時長”這個提交,即回退到“上網策略列表”這個提交的版本,也就是回退到commit為“43dc0de914173a1a8793a7eac31dbb26057bbee4”的版本。
使用命令:git reset --soft 43dc0de914173a1a8793a7eac31dbb26057bbee4
最後再次使用git log檢視是否成功撤銷了本地提交。
其中:
引數soft指的是:保留當前工作區,以便重新提交 。
還可以選擇引數hard,會撤銷相應工作區的修改,一定要謹慎使用。
3. 最後,使用git push origin master --force強制推送版本。
其中:master表示遠端分支。
如果不加--force會報錯,因為版本低於遠端,無法直接提交。