0


GIt Squash 多个提交压缩提交

假设你有一个名为

feature

的分支,它包含三个提交(A, B, C),并且你想将这三个提交压缩成一个。下面是如何做到这一点的。

首先,找出你要开始压缩的那个最早提交的哈希值。在这个例子中,我们假设 A 是最早的提交。你可以通过运行

git log

命令来查看提交历史并找到提交 A 的哈希值。

开启交互式 rebase 模式

git rebase -i <A-hash>^

这里

<A-hash>

是提交 A 的哈希值。

^

符号表示该提交的前一个提交。

Squash 合并

将你希望合并的每个提交行前面的

pick

改为

squash

s

。第一行(最早的提交)应保留为

pick

# 根据rebase -i 提交目标hash值打开编辑界面
git rebase -i 71c24d47b2f68d0465c3e3defa48311c3d592036

# 接着会弹出如下界面  s -- squash ,被合并的提交 pick 改为s(squash)
pick 5c079ff120 fix
s 316e094548 fix status log
s a79cbdc0f3 脱手重复key问题修复
s df8650aa3f [feat] add hmi
s ff74bd1bf1 [feat] add curise speed
s 08bf230667 [fix] cruise_speed_limit
s 71c24d47b2 [feat]: 15s hod
s 26f7d3f83d Updated mff_aeb_config.json

保存并关闭编辑器。

Git 默认使用的编辑器可能是 Vim, Nano 或者其他的,这取决于你的系统配置。

这里以 Vim 和 Nano 为例说明如何保存并退出:

Vim :

    1、在 Vim 中,按 
Esc

进入命令模式

    2、输入 
:wq

(意思是 write and quit,即保存并退出),然后按

Enter
Nano:
    1、按 
Ctrl+O

来保存文件(你会在底部看到提示 "File Name to Write")

    2、然后,按 
Enter

确认文件名

    3、最后,按 
Ctrl+X

退出编辑器

设置默认编辑器:

    git config --global core.editor vim

如果你选择了任何提交进行压缩,Git 将再次打开一个编辑器,让你修改新的合并提交消息。这将是所有被挑选和压缩提交的提交消息的组合。

在这里,你可以整理你的提交消息,删除不需要的部分或者添加更多的细节。

保存并关闭编辑器会创建新的合并提交。

推送到远端

现在,你可以用以下命令强制推送你的更改到远程存储库:

git push origin feature --force

就这样,你已经成功地将分支

feature

的三个提交压缩为一个了!

标签: git

本文转载自: https://blog.csdn.net/renjianhhong/article/details/132278840
版权归原作者 我的国 所有, 如有侵权,请联系我们删除。

“GIt Squash 多个提交压缩提交”的评论:

还没有评论