一、方法原理讲解
我们在 dev 分支对不同的代码文件做了多次提交。现在我们想要把这些提交都合并到 test 分支。首先我们要明白四个 git 操作,
commit
:命令用于将你的代码变更保存到本地代码仓库中,它创建了一个新的提交(commit)记录,记录了代码的变更内容以及相关的提交信息(如作者、时间、提交说明等)。push
:命令用于将本地仓库中的代码推送(上传)到远程代码仓库,将你的代码变更分享给其他开发者或者备份到远程服务器。cherry pick
:命令用于从一个分支中选择性地合并某个提交(commit)到当前分支,它允许你只合并需要的提交而不是整个分支的变更。squash
: 用于将多个连续的提交(commit)合并成一个提交,以便清理历史记录或整理提交信息。这个操作通常用于将多个相关的小提交合并成一个更有意义和完整性的大提交,以提高代码库的可读性和维护性。
从上面四个操作,要将A分支的多个提交合并一个提交到新的分支。我们得出两个方法,
- 方法一:先把A分支已经提交的使用
squash
合并成一个commit
,然后push
到A远程,然后从A远程直接cherrypick
这一个分支到B分支。 - 方法二:先把A分支已经提交push到A远程,然后
cherrypick<