【Git】在 IDEA 中合并多个 commit 为一个
2023-12-20 14:57:30
分两种情况:
- 一种是本地提交还没推到远程,这种好处理
- 另一种是已经提交到远程分支,这个略麻烦
1 未提交到远程分支
1.1 需求说明
- 我想把选中的 4 个commit合并为 1 个
1.2 reset 操作
- 选中要合并的 commit 的前一个,右键选择 reset。在弹窗中选默认的就好,然后有冲突就解决冲突
1.3 再次 push
- reset 后,在
local change
页面可以看到前几个 commit 的修改都在本地了。
- 按照常规的 push操作就好
2 已经提交到远程分支
2.1 需求说明
我想要把图中选中的 4 个commit合并为 1 一个
图错了,合并前 3 个 commit 为 1 个
2.2 rebase 操作
- 复制图中4 个要合并的commit 的前一个 commit 的 hash值,如图所示为7642cfbf
- 复制图中3 个要合并的commit 的前一个 commit 的 hash值,如图所示为
a1c496cc
- 执行如下命令
git rebase -i a1c496cc
-
回车后,会进入如下界面
-
对最上面的几行进行修改。
-
pick
:表示使用 commit -
reword
:表示使用 commit,修改 commit 信息。在这里可以先不急着改,也不会生效,在后续界面修改。 -
fixup
:表示使用 commit,丢弃 commit 信息 -
squash
:表示使用 commit,将 commit 信息合并到上一个 commit
-
保存退出后,进入下一个页面,修改 commit 信息
-
继续保存后退出,如果有冲突,就解决冲突
2.3 强制 push
- 执行命令
git push --force
- 可以看到已经执行成功
文章来源:https://blog.csdn.net/Awt_FuDongLai/article/details/135104209
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!