目的
我们在dev分支对不同的代码文件做了多次提交后,现在需要把这些提交合并到其他分支上。
git操作
- commit:命令用于将你的代码变更保存到本地代码仓库中,它创建了一个新的提交(commit)记录,记录了代码的变更内容以及相关的提交信息(如作者、时间、提交说明等)。
- push:命令用于将本地仓库中的代码推送(上传)到远程代码仓库,将你的代码变更分享给其他开发者或者备份到远程服务器。
- cherry pick:命令用于从一个分支中选择性地合并某个提交(commit)到当前分支,它允许你只合并需要的提交而不是整个分支的变更。
- squash: 用于将多个连续的提交(commit)合并成一个提交,以便清理历史记录或整理提交信息。这个操作通常用于将多个相关的小提交合并成一个更有意义和完整性的大提交,以提高代码库的可读性和维护性
idea操作
1、git 取消 cherrypick 自动推送远程
取消选择 File => Settings => Version Control => Git => Commit automatically on cherry-pick
2、使用checkout把代码切到分支
cherrypick命令是将分支提交的代码合并到当前分支,所以第一步需要把代码切换到正在开发的分支上来。
假设要把分支A的代码合并到分支B,那么此处checkout的分支即为B
3、在需要被合并的分支上选择想要的提交记录,右键选择cherrypick
请注意一定要正确选择分支,要把分支A的代码合并到分支B,所以在选择提交记录的时候需要选择分支A。同时。这个分支也分为本地local和远程origin,请确认清除这个提交操作是在本地还是远程进行。