我对git很新,我创建了一个需要所有提交签名的repo的pull请求。我早先分叉了回购并创建了一个包含我的工作的分支。因为我有大约100个提交者,所以我宁愿不必编辑每一个来自" pick"到"壁球"使用git rebase。似乎也没有办法使用它来签署最后的压缩提交。
那么,有没有办法 - 1)签署我的所有提交? 要么 2)将所有提交压缩成一个并签署一个?
我感谢任何帮助/建议。
答案 0 :(得分:1)
查看--squash
的{{1}}选项。然后,您可以使用新的提交消息对您的工作进行签名。
生成工作树和索引状态,就好像发生了真正的合并(合并信息除外),但实际上没有提交,移动HEAD或记录$ GIT_DIR / MERGE_HEAD(导致下一个git commit命令)创建合并提交)。这允许您在当前分支之上创建单个提交,其效果与合并另一个分支相同(或者在章鱼的情况下更多)。
它是非交互式的,因此您不必像git merge
一样完成每次提交并选择壁球选项。
答案 1 :(得分:0)
我建议使用一个体面的文本编辑器,当使用git rebase -i
时,你可以阻止选择第一个之后的所有行,用“f”代替南瓜。问题解决了。
在Windows上的许多编辑器中,块选择为Alt-drag
。
然后,标准的git参考为您提供了一个关于在此处签署提交的良好教程/演练: