Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

📗多个Git提交合并成一个提交

在日常开发feature之后会在自己开发的分支上留下许多提交记录,想在最后发版本提交
将多个提交合并成一个提交记录,显得规整一些。

查询相关资料之后,发现使用 git rebase 和 git squash 命令配合完成上述需求。

以下将多个提交合并成一个提交记录步骤记录:

  1. 首先,使用 git log 命令查看你要合并的提交记录的哈希值,确定需要合并的提交数量和顺序。
  2. 运行 git rebase -i HEAD~n 命令,将 n 替换为要合并的提交数量。这将打开一个交互式 rebase 编辑器。
  3. 在交互式 rebase 编辑器中,将需要合并的提交记录的 pick 关键字改为 squash 或 s。将要保留的最终提交记录保持为 pick。
  4. 保存文件并关闭编辑器。然后,将会打开一个新的编辑器,用于编辑最终的合并提交记录的消息。在编辑器中,可以修改合并后的提交消息。
  5. 保存文件并关闭编辑器。Git 将自动进行 rebase 操作,将多个提交合并成一个提交记录。
  6. 依此循环上述步骤。

因为 git rebase 和 git squash 命令带来变基和修改历史记录影响,所以避免在公共分支上操作,比如develop,test等分支操作,以防将别人代码进行覆盖或删除。因此,只应该在本地仓库上进行此操作。

参考文献

  1. Git 合并多个 commit
  2. 如何使用 git rebase 将多个 commit 合并成一个commit