本文章仅讲解代码提交和分支合并。
目录
1、将代码克隆到本地,idea打开,不使用主分支(master)进行开发操作。
2、也不使用dev分支进行开发操作,而是新建一个功能分支进行模块功能的开发。
一、提交并推送到私服
在dev分支的基础上,新建功能分支进行业务功能的完善,完成后提交并合并分支,根据图文操作:
1、先在新建的开发分支中进行提交:
idea 左下角的Git(Version Control)中显示Local Changes窗口: http://t.csdn.cn/8n3PS
2、切换到dev分支中:
3、将开发分支与dev分支合并:
在合并过程中,可能会有某些冲突,你需要具体看看有哪些冲突,去解决(决定保留哪一段代码,结果应该只剩下你希望的最终版本)。
4、此时查看是否切到dev分支,并且查看你开发的功能对应的代码是否在dev分支,如果开发的代码都在,证明开发的功能已经合并到当前分支了。
5、将本地代码推送到远端:
6、远端进行查看。
二、遇到的问题
1、当在Git中合并分支时,如果两个分支在同一个文件同一个位置有冲突的修改,就会产生冲突(conflict)。解决冲突的一般步骤如下:
使用git merge命令合并分支时,如果出现CONFLICT提示,表示有冲突产生。
使用git status命令看到发生冲突的文件。
打开发生冲突的文件,里面会用<<<<<<<、=======、>>>>>>>标记出冲突的起始和结束。
编辑文件,删除特殊标记,决定保留哪一段代码,结果应该只剩下你希望的最终版本。
添加该文件解决冲突 git add 文件名
继续合并 git commit
完成合并,并生成一个新的commit,commit message可写为"resolve conflict"。
建议在解决冲突时,仔细确认最终的代码版本,不要遗留任何标记和错误的代码。如果冲突太复杂,也可以考虑通过git stash将更改暂存,revert到某个版本,重新来过。
2、为何在dev的基础上,新建功能分支?
通常情况下,公司会有一个主要的dev开发分支。每个程序员从dev分支上再拉出一个自己的分支(如feature/new_function等)。
这样每个程序员在自己的分支上开发,不会互相影响。
开发完成后,再通过pull request等方式将代码合并回dev分支。