1. 程式人生 > >git撤銷已經push的提交

git撤銷已經push的提交

簡要版:

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會報錯,因為版本低於遠端,無法直接提交。