Git 速查表#

查找提交#

查找添加或删除指定字符串的提交:

git log -S "要查找的代码" -- 目标文件

合并提交#

git rebase -i A      # 显示从 A 之后到最新的所有提交(不包含 A)
git rebase -i HEAD~3 # 显示最近的 3 个提交

此时会进入编辑器,要显示的提交按照时间从前到后的顺序排序。

你可以将任意提交前的 pick 改为 squashs,保存退出。squash 会将该提交合并到它的前一个提交,最终所有连续的 squash 提交会一起合并到它们前面的第一个 pick 提交。

在这个界面你也可以移动提交的位置,来让它合并到任意提交上。

注意:不能把第一个提交改为 squash

除了 squash,你还可以使用 fixup。它们的区别是:

  • squash:会保留被合并提交的提交信息,让你编辑合并后的信息;
  • fixup:直接丢弃被合并提交的提交信息,只保留目标提交的信息。