将所有git提交压缩为一个并签名

时间:2015-08-28 20:11:23

标签: git github

我对git很新,我创建了一个需要所有提交签名的repo的pull请求。我早先分叉了回购并创建了一个包含我的工作的分支。因为我有大约100个提交者,所以我宁愿不必编辑每一个来自" pick"到"壁球"使用git rebase。似乎也没有办法使用它来签署最后的压缩提交。

那么,有没有办法 - 1)签署我的所有提交? 要么 2)将所有提交压缩成一个并签署一个?

我感谢任何帮助/建议。

2 个答案:

答案 0 :(得分:1)

查看--squash的{​​{1}}选项。然后,您可以使用新的提交消息对您的工作进行签名。

  

生成工作树和索引状态,就好像发生了真正的合并(合并信息除外),但实际上没有提交,移动HEAD或记录$ GIT_DIR / MERGE_HEAD(导致下一个git commit命令)创建合并提交)。这允许您在当前分支之上创建单个提交,其效果与合并另一个分支相同(或者在章鱼的情况下更多)。

它是非交互式的,因此您不必像git merge一样完成每次提交并选择壁球选项。

https://git-scm.com/docs/git-merge

答案 1 :(得分:0)

我建议使用一个体面的文本编辑器,当使用git rebase -i时,你可以阻止选择第一个之后的所有行,用“f”代替南瓜。问题解决了。

在Windows上的许多编辑器中,块选择为Alt-drag

然后,标准的git参考为您提供了一个关于在此处签署提交的良好教程/演练:

https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work