git 对之前的commit 进行重新签名 Resign
在向開源社區提交PR的時候如果之前的提交忘記添加sign (個人簽名/公司簽名),則社區的DCO檢查會失敗。
關于通過DCO檢查能夠確保以下幾件事情生效:
- 你所提交的貢獻是由你自己完成或者 你參與了其中,并且有權利按照開源協議提交代碼
- 這個貢獻是在當前項目的基礎上完成的。
- 你能夠理解并遵守開源協議,你的貢獻將會被完全公開。
這個檢查對于社區來說能夠防止后面你想要回退你的commit。
基本的簽名方式就是在你git commit -m的時候增加一個git commit -s -m "xxx",這樣你提交的commit 內容就包含了你的簽名信息
fix the review codeSigned-off-by: BaronStack <2689496754@qq.com>
很多時候如果我們沒有配置自己的commit 縮寫的話就會忘記-s選項,這個時候需要對之前的commit 進行resign
大體對應兩種情況:
- resign 上一次的commit
- resign 之前的很多次commit
針對第一種情況,很簡單:
git rebase --amend ,直接在上一次的commit內容中增加你的簽名信息即可。
第二個情況可以執行下面的內容
git rebase --exec 'git commit --amend --no-edit -n -S' -i 46809e5902
大體邏輯就是針對到-i之前的commit為止(包括-i)所有的commit 都會執行一次git commit --amend --no-edit -n -S來簽名
會進入編輯器,直接保存退出就可以,然后不斷得執行git rebase --continue,如果過程中有哪一個commit rebase失敗的話需要根據提示解決沖突。如果執行過程中又不想rebase了,直接git rebase --abort即可,會將本次rebase觸發的所有的變更都回滾掉。
執行完成之后就能git log看到所有的commit內容都帶有你的簽名信息了。
總結
以上是生活随笔為你收集整理的git 对之前的commit 进行重新签名 Resign的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 穆图最后一关怎么打
- 下一篇: 大家看过咒怨吗?伽椰子有害怕的人或者是物