分支情况:在a分支 commit 两次 message为”本分支相关功能“(以下称为commit1),”全局组件“(commit2)
情景:在a分支上开发了另一个跟当前分支无关的新功能
目的:想要把这个无关的新功能从当前a分支剥离出来 另一新功能分支b上
解决方法: 先从当前commit2回退到commit1,把commit1提交远程库,再在当前分支a回退到commit2 上,新建一个分支b,同步a当前commit2的代码,再push到远程分支
步骤如下:
1 、git log //查看commit id
2、git reset --hard commit_id //回到commit1版本
3、git push origin a
4、git reflog // 查看操作历史记录id,找到commit2对应的id(必须在a分支上回退,因为是a分支上开发的,才可以看到commit2的记录;如果当前在commit1,就新建分支b,则b的代码只同步到a的commit1,git log时看不到commit2的历史记录,并不能回退到commit2)
5、git reset id // 回退到commit2
5、git checkout -b b // 新建分支b
当前分支:b:
6:git pull origin a // 拉取a分支的代码,防止冲突
7、git push origin b // push commit2 新功能到远程分支
网友评论