今天是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)
第三步、修改代碼重新提交
就和以前一樣的操作,正常修改提交即可,不提交丟棄我也不管。