IDEA+Git 多人协同开发开发 创建纯净功能分支
需求:
现在有一个比较复杂的功能点需要多人协同开发,IDE使用idea,Git服务端使用的是Microsoft Team Foundation Server。现在团队需要对每个人编写的代码进行代码评审。
因为多人使用了同一个功能分支进行开发,所以分支内混合了多人代码,这样很难进行评审。
实现目标:
在使用了混合代码分支开发的情况下(也是不可避免的),但能分离出只包含自己代码的分支作为最终提交代码。
具体操作:
要实现本需求,必须要懂得git的基本操作语法,比如查看提交记录,抽取commit,创建新分支,提交分支到远程服务器等。不过因为idea自带了强大的git插件。
所以我们只需要鼠标点点就可以实现。其核心,还是用到了git cherry-pick
命令。
首先,你需要明确你需要将哪个分支合并到哪个分支。这里我将需要合并的源分支命名为fetures-saveFlow,目标分支为dev。
1.创新新的纯净的分支用于提交
checkout dev分支,产生一个dev的本地分支,命名为fetures-saveFlow-xxx。xxx是自己名字的拼音简写,表示这个功能分支上自己的代码。
2.挑拣提交组建新分支内容
挑拣fetures-saveFlow分支中,所有你提交的commit到新创建的fetures-saveFlow-xxx分支上。
如下图,branch选择fetures-saveFlow,User选择me,这个时候可以自己看到自己再这个分支上所有的提交,找到你在这个功能点上的所有提交,
一次右击 选择cherry-pick。这个时候 这个提交的内容 会 合并到当前分支上。如果存在冲突那个会弹出相应的冲突提示。
3.解决冲突并提交分支
列表里显示的是有冲突的文件,针对每个冲突文件有三种处理方式:使用你的,使用他的,合并。也就是针对冲突的文件,直接放弃合并而直接使用你当前分支的文件,或者其他分支的文件。选择合并的话,会弹出个对话框,显示两边的差异。
左边显示的是当前分支的内容,右边显示的需要合并的代码的内容,中间的是合并的结果。一般都是选择合并,除非你确定需要丢弃对方或者自己的提交修改内容。
完事之后,按下快捷键ctrl+k提交合并,然后push推送到远程服务器即可。这个分支智慧包含dev的代码和你刚刚挑拣的代码。