git 对之前的commit 进行重新签名 Resign

在向开源社区提交PR的时候如果之前的提交忘记添加sign (个人签名/公司签名),则社区的DCO检查会失败。
关于通过DCO检查能够确保以下几件事情生效:

  1. 你所提交的贡献是由你自己完成或者 你参与了其中,并且有权利按照开源协议提交代码
  2. 这个贡献是在当前项目的基础上完成的。
  3. 你能够理解并遵守开源协议,你的贡献将会被完全公开。

这个检查对于社区来说能够防止后面你想要回退你的commit。

基本的签名方式就是在你git commit -m的时候增加一个git commit -s -m "xxx",这样你提交的commit 内容就包含了你的签名信息

    fix the review code
    
    Signed-off-by: BaronStack <2689496754@qq.com>

很多时候如果我们没有配置自己的commit 缩写的话就会忘记-s选项,这个时候需要对之前的commit 进行resign

大体对应两种情况:

  1. resign 上一次的commit
  2. 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内容都带有你的签名信息了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
重新提交commit,可以按照以下步骤进行操作: 1. 首先,可以使用git reset --soft HEAD~n命令来撤销最近n个提交,并将它们变为add状态。这将允许你重新提交这些更改。注意,n代表你想要撤销的提交数量。例如,如果要撤销最近的2个提交,可以使用git reset --soft HEAD~2命令。 2. 如果你想保留你的更改但暂时不提交,可以使用git stash命令来暂存你的代码。这将保留你的更改,并将工作区恢复到上一个提交的状态。当你准备好重新提交时,可以使用git stash pop命令将你的代码取出。 3. 要重新提交代码,可以使用git commit命令。在执行这个命令之前,请确保你已经添加了你想要提交的文件或更改。例如,你可以使用git add .命令将所有更改添加到暂存区。然后,使用git commit命令重新提交你的更改。如果你想修改上一次提交的信息,可以使用git commit --amend命令。 4. 最后,你可以使用git push -f命令强制推送你的更改到远程仓库。请注意,强制推送可能会覆盖远程仓库中的历史提交记录,所以请谨慎使用。 总结一下,重新提交commit的步骤如下: 1. 使用git reset --soft HEAD~n命令撤销n个提交,并将它们变为add状态。 2. 使用git stash命令暂存你的代码,如果需要的话。 3. 使用git commit命令重新提交你的更改,并可以使用git commit --amend命令修改上一次提交的信息。 4. 使用git push -f命令强制推送你的更改到远程仓库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [git 重新提交、回滚或者删除某个提交](https://blog.csdn.net/luosai19910103/article/details/120208483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [有趣且重要的Git知识合集(8)git commit 重新提交(—amend —no-edit)](https://blog.csdn.net/qq_39404437/article/details/128254056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值