git勿提交到遠端,撤回

今天是2019年9月29日,陽光明媚,早早來到公司,打開電腦,把上週寫的代碼提交到git,提交之後,定睛一看,臥槽,備註寫錯了,怎麼辦,公司只有統一的git規範的,備註不按標準要扣錢,於是趕快求助度娘。

 

第一步、撤銷提交信息

首先,通過git log查看提交信息,以便獲取需要回退至的版本號:

kenneth:new-android kenneth$ git log
commit 8bbb8279c5258e7604f1c4676e4fadc7bdb87795 (HEAD -> dev, origin/dev, wwww)
Author: wangjinhao#### <[email protected]>
Date:   Sun Sep 29 09:33:13 2019 +0800

    Revert "feat(移動報銷--報銷單詳情): 墊付單據排序"
    
    This reverts commit 63bdb39d47b9ee7df26966e9224a60bec76cdda9.

commit 63bdb39d47b9ee7df26966e9224a60bec76cdda9
Author: wangjinhao#### <[email protected]>
Date:   Sun Sep 29 09:31:03 2019 +0800

    feat(移動報銷--報銷單詳情): 墊付單據排序

commit 972b6d096f0df72ffd2a2185d873e2dbfe275bed
Author: wangjinhao#### <[email protected]>
Date:   Fri Sep 27 18:00:08 2019 +0800

    fix(我的--個人中心): 點擊跳轉到修改個人信息的熱區放大

我這裏需要撤回到fix(我的--個人中心),因爲上兩次都是錯誤提交,mmp要扣兩次錢了,commit id是972b6d096f0df72ffd2a2185d873e2dbfe275bed

然後,通過git reset –soft <版本號>重置至指定版本的提交,達到撤銷提交的目的:

kenneth:new-android kenneth$ git reset --soft 972b6d096f0df72ffd2a2185d873e2dbfe275bed

參數soft指的是:保留當前工作區,以便重新提交 
還可以選擇參數hard,會撤銷相應工作區的修改,一定要謹慎使用。這個沒試,貌似是把代碼都清空了??不過保險起見,錯誤提交的代碼最好拉個分支備份一下,萬一一頓操作全給整沒了,就涼涼了。

 

 

然後,通過git log確認是否成功撤銷:可以查看最近的提交已經到我需要的commit了,說明已經成功將錯誤提交撤銷

kenneth:new-android kenneth$ git log
commit 972b6d096f0df72ffd2a2185d873e2dbfe275bed (HEAD -> dev)
Author: wangjinhao#### <[email protected]>
Date:   Fri Sep 27 18:00:08 2019 +0800

    fix(我的--個人中心): 點擊跳轉到修改個人信息的熱區放大

commit 04038f1b0ac54bcd64979b60ee96e9d2b0e9be2d
Author: wangjinhao#### <[email protected]>
Date:   Fri Sep 27 12:53:52 2019 +0800

    fix(報銷單--報銷單詳情): 收款信息無報銷人會提示

 

第二步、撤銷

通過git push origin master –force強制提交當前版本號,以達到撤銷版本號的目的:此時遠端的commit就被KO了

網上copy的代碼,自己的git操作框框讓我誤關了

$ git push origin  master --force
Total 0 (delta 0), reused 0 (delta 0)
To github.com:hanchao5272/myreflect.git
 + a448220...aa909cf master -> master (forced update)

 

第三步、修改代碼重新提交

就和以前一樣的操作,正常修改提交即可,不提交丟棄我也不管。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章