高级合并
2022年8月8日...大约 1 分钟
Squash merge
通过使用 --squash 选项,你可以在合并中将多个 commit 合并为一个。
也就是对于以下的例子
git merge feature 得到的结果为:
而如果 feature 分支意在实现一个完成的特性,两个 commit 只是工作进度实际上并不重要的时候,我们可以通过 git merge --squash feature 得到:
Cherry pick
有些时候,我们可能需要提取其他分支的某个 commit,这个时候我们可以用 cherry pick 进行操作。
在这种情况下,我们可以回到 main 分支,执行 git cherry-pick <commit id> 来挑拣某个提交,当然,你可以一并在命令中提交挑拣多个 commit。
- git cherry-pick <commit id 1> <commit id 2>表示挑拣 commit id 1 和 commit id 2
- git cherry-pick <commit id 1>...<commit id 2>表示挑拣 commit id 1 与 commit id 2 之间 (包括两者) 的所有提交
- git cherry-pick <branch>表示挑拣该分支最新的提交
