首先要理解开分支。默认情况下一个项目只有一个主分支,但是很多情况下需要开分支进行版本控制,最近我和小伙伴就发现版本控制很困难,需要进行开分支。如图,项目的主分支类似于一个链表,每次我们进行push的时候指针master也就移动到最新的位置。在主分支的最新节点开启一个新的分支后,在新的分支上进行的操作和主分支相同,不过并不会影响主分支。
在我们自己开的dev分支上的工作编写完毕后,就可以把它合并到主分支上,其实就是主分支的指针指向dev的最新节点。
如果A和B各在主分支上开了一个分支,A完成工作后合并的主分支,随后B也合并到主分支,这时候有可能会出现代码冲突。这个冲突是必须人工解决的吗,就像多人同时操作主分支的时候出现这种情况一样。
开分支:VCS-->Git-->New Branch。这样只是在本地的主分支开了一个分支,还要把他push到github上,不需要特别的操作,普通的push就可以了。之后就可以在github上看到这 个分支了。
在开分支后,当前操作的本地分支就会自动更改为刚刚创建的分支,可以在VCS-->Git-->Branches的窗口最下方Current Branch:查看:
如图,我当前操作的分支是zy,是我刚开的分支。
然后就可以在这个分支上进行开发和push了。
这个分支上的工作完成后就要合并到主分支master上了,步骤是当前分支切换到主分支,然后进行合并。
还是上面这个图,在Local Branches里可以看到本地除了当前分支以外的分支,比如我这里显示的就是主分支master点这个master的checkout就可以切换到主分支了。同理,也可以这样切换回来。
接下来是合并zy到主分支master上:
VCS-->Git-->Merge Branches:
选这个远程分支zy,然后Merge就可以了。