开发者

Git在IDEA中合并多个commit为一个

开发者 https://www.devze.com 2025-10-30 10:50 出处:网络 作者: 小镇攻城狮
目录1 未提交到远程分支1.1 需求说明1.2 reset 操作1.3 再次 push2 已经提交到远程分支2.1 需求说明2.2 rebase 操作2.3 强制 push总结分两种情况:
目录
  • 1 未提交到远程分支
    • 1.1 需求说明
    • 1.2 reset 操作
    • 1.3 再次 push
  • 2 已经提交到远程分支
    • 2.1 需求说明
    • 2.2 rebase 操作
    • 2.3 强制 push
  • 总结

    分两种情况:

    • 一种是本地提交还没推到远程,这种好处理编程客栈
    • 另一种是已经提交到远程分支,这个略麻烦

    1 未提交到远程分支

    1.1 需求说明

    Git在IDEA中合并多个commit为一个

    我想把选中的 4 个commit合并为 1 个

    1.2 reset 操作

    Git在IDEA中合并多个commit为一个

    选中要合并的 commit 的前一个,右键选择 reset。在弹窗中选默认的就好,然后有冲突就解决冲突

    Git在IDEA中合并多个commit为一个

    1.3 再次 push

    reset 后,在 local change页面编程客栈可以看到前几个 commit 的修改都在本地了。

    Git在IDEA中合并多个commit为一个

    按照常规的 push操作就好

    Git在IDEA中合并多个commit为一个

    2 已经提交到远程分支

    2.1 需求说明

    Git在IDEA中合并多个commit为一个

    图错了,合并前 3 个 commit 为 1 个

    2.2 rebase 操作

    复制图中3 个要合并的commit 的前一个 commit 的 hash值,如图所示为a1c496cc

    • 执行如下命令
    git rebase -i a1c496cc
    

    回车后,会进入如下界面

    Git在IDEA中合并多个commit为一个

    对最上面的几行进行修改。

    • pick:表示使用 commit
    • re编程客栈word:表示使用 commit,修改 commit 信息。在这里可以先不急着改,也不会生效,在后续界面修改。
    • fixup:表示使用 commit,丢弃 commit 信息
    • squash:表示使用 commit,将 commit 信息合并到上一个 cphpommit

    Git在IDEA中合并多个commit为一个

    保存退出后,进入下一个页面,修改 commit 信息

    Git在IDEA中合并多个commit为一个

    继续保存后退出,如果有冲突,就解决冲突

    Git在IDEA中合并多个commit为一个

    2.3 强制 push

    • 执行命令
    git push --force
    
    • 可以看到已经执行成功

    Git在IDEA中合并多个commit为一个

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(wwpythonw.cppcns.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号