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

将所有git提交压缩为一个并签名,git,github,Git,Github,我是git的新手,我创建了一个回购请求,需要签署我的所有承诺。我早些时候提出了回购协议,并创建了一个包含我的工作的分支。由于我有大约100个commmit,我不希望使用git rebase编辑从“pick”到“squash”的每个commmit。而且,似乎没有办法用它来签署最终的压缩提交 那么,有没有办法- 1) 签署我所有的承诺? 或 2) 将所有提交挤成一个,并在其中签名 非常感谢您的帮助/建议。我建议您使用一个像样的文本编辑器,当您使用git rebase-I时,它将允许您阻止选择第一行之

我是git的新手,我创建了一个回购请求,需要签署我的所有承诺。我早些时候提出了回购协议,并创建了一个包含我的工作的分支。由于我有大约100个commmit,我不希望使用git rebase编辑从“pick”到“squash”的每个commmit。而且,似乎没有办法用它来签署最终的压缩提交

那么,有没有办法- 1) 签署我所有的承诺? 或 2) 将所有提交挤成一个,并在其中签名


非常感谢您的帮助/建议。

我建议您使用一个像样的文本编辑器,当您使用
git rebase-I
时,它将允许您阻止选择第一行之后的所有行,以将操作替换为“f”进行挤压。问题解决了

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

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

看看
git merge
--squash
选项。然后,您可以使用新的提交消息对您的工作进行签名

生成工作树和索引状态,就像发生了真正的合并一样(合并信息除外),但不实际进行提交、移动头或记录$GIT_DIR/merge_HEAD(以使下一个GIT commit命令创建合并提交)。这允许您在当前分支上创建一个提交,其效果与合并另一个分支相同(如果是八达通,则为多个分支)

它是非交互式的,因此您不必像使用
git-rebase-i
那样每次提交并选择挤压选项


我可以编辑所有提交,但如何签署一条压缩的评论?回答编辑-git书对此的解释比我应该做的要全面得多。。。