当前项目有多个分支同时开发,比如叫dev1 和 dev2,我在dev1分支已经开发好某个功能点,并提交,这时数天后领导说,这个功能点要在dev2上线,怎么办?难道找到我的代码,一点点复制粘贴过去吗?其实很简单,直接使用git cherry-pick命令,但前提是你的提交记录,必须是只有当前的功能点,不能包含其他的修改的代码
假设当前你在dev1分支上,执行如下命令
# 找到提交记录的hash
git log
# 切换到dev2分支
git checkout dev2
# 假设你想要cherry-pick的提交的哈希是abcdef123
git cherry-pick abcdef123
但用这个命令有两个前提,如果没做到,可能就不太适合使用了
- 每次提交的代码粒度最小到具体的功能点,如果这次提交既包括要转移的功能,又包括其他的修改点,请谨慎使用
- 你只需要对单个或者指定多个指定提交记录进行“转移”
如果dev1分支需要删除提交记录,推荐使用git revert命令
git revert <commit-hash>
git push
如果您对技术有兴趣,友好交流,可以加v进技术群一起沟通,v:zzs1067632338,备注csdn即可