现在有一个需求,将已经开发完的代码要回到之前的一个tag处进行修改bug,修改完以后打一个tag然后回到之前的分支,将check出的那个分支代码合并到当前分支上,删除新建的那个分支。这里面的重点是合并的时候要把冲突解决掉,然后提交远程git库,然后需要验证如果合并完以后删除check出来的那个分支,会不会影响合并后的分支回到ag处受影响。下面是步骤:
第一步:将tag处代码check到一个新的分支上
git checkout -b branch_name tag_name
第二步:在新的分支上修改bug,并提交
第三步:修改完以后,打一个tag,并且提交远程
git tag <tagName> //创建本地tag
git push origin <tagName> //推送到远程仓库
若存在很多未推送的本地标签,你想一次全部推送的话:
git push origin --tags
第四步:回到之前的分支,与新分支上的代码进行合并
git checkout old_branch //回到之前的分支
git merge new_branch //合并新分支
第五步:再合并的时候,如果两个人修改了同一个文件,需要先解决冲突,然后再提交,并且上传远程git库
第六步:切换到第三部中新打的tag处查看代码是否正确
第七步:删除check出的那个分支
git branch -d new_branch //删除本地check出来的新分支
git push origin --delete new_branch //删除远程的新分支
注:这里如果合并完成。那么删掉check出的那个分支,不影响合并后的分支check到指定tag处,可以放心删除多余的分支