美文网首页
【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