git 如何将历史记录中的多个提交合并为一个?[duplicate]

vlurs2pr  于 2023-02-14  发布在  Git
关注(0)|答案(1)|浏览(120)
    • 此问题在此处已有答案**:

How do I squash my last N commits together?(43个答案)
3天前关闭。
我有一个分支 "master",它有5个提交:

A --> B --> C --> D --> E (master)

现在我想把中间提交B、C和D合并成一个提交,因为它们的修改都是微不足道的。我希望合并后的结果是:

A --> B' --> E (master)

我尝试了git rebase -i A D命令,但它导致分离的磁头不在 * master * 分支中。但我想留在 * master * 分支中,该如何操作?

nvbavucw

nvbavucw1#

您用途:

git rebase -i A

它会在文本编辑器中为你打开一个命令列表,如下所示:

pick A Message of A
pick B Message of B
pick C Message of C
pick D Message of D
pick E Message of E

# instructional comments
# ...

这样,你就可以把C和D前面的文本修改为squash(或者只修改s),然后保存并关闭文件,接着系统会提示你为B '创建新的提交信息,保存并关闭文本编辑器后,你就可以回到master界面,重新编写提交了。

相关问题