美文网首页
【Git】合并多次commit

【Git】合并多次commit

作者: 87d6dc4b11a7 | 来源:发表于2023-11-22 10:18 被阅读0次

    场景:修改代码,在完成git addgit commit后,发现没有修改完全,再次进行修改并执行git addgit commit。此时,会有两条commit记录。

    $ git log -2
    commit 3af0d8db4f44a86aad29e062e88463e3447f0eb8 (HEAD)
    Author: xxx
    Date:   Thu Nov 23 10:03:35 2023 +0800
    
        update test.txt
    
        Change-Id: I9466ecc0221b6d6ddc87ad05bdb5c392ece33d1b
    
    commit 0f3cecf13b56e5bf893ff12c959e1e3746efa1b0
    Author: xxx
    Date:   Thu Nov 23 10:03:07 2023 +0800
    
        add test.txt
    
        Change-Id: I55e1e50bacdd4a3fbbd83e085b51336c6c7fe68f
    

    如何将这两次commit合并成一个呢?
    1、执行git rebase,进入交互界面

    $ git rebase -i HEAD~2
    
    image.png

    2、将第二个提交的关键字从 pick 编辑为 squashfixup(或 sf)。第一个提交应该保持不变(pick),因为我们想将第二个压缩到第一个中。修改后保存(:wq)退出。

    image.png

    3、上一步保存后,Git 会输出提交消息,可以对commit message进行编辑。若不需要修改,可直接保存(:wq)退出。

    image.png

    4、再次查看提交记录。两次commit已经被合并成一个了。

    $ git log -1
    commit 7447ee00485d9bf2c030e685df0aebd7fa84233a (HEAD)
    Author: xxx
    Date:   Thu Nov 23 10:03:07 2023 +0800
    
        add test.txt
    
        Change-Id: I55e1e50bacdd4a3fbbd83e085b51336c6c7fe68f
    
        update test.txt
    
        Change-Id: I9466ecc0221b6d6ddc87ad05bdb5c392ece33d1b
    

    5、进行正常推送git push即可。

    相关文章

      网友评论

          本文标题:【Git】合并多次commit

          本文链接:https://www.haomeiwen.com/subject/ljbiwdtx.html