闲话不多说了,直接上正题。
在github上面merge代码
前面的一篇博文已经说了如何push代码到自己github上面的库里面去,可是事情就结束了么?不,远远没有。因为你只是传到了自己的功能分支上面去,然而别人并不知道你在自己的分支上面做了些什么,因为你的队友一般是不会去pull你的分支上面的东西的,那么怎么办呢?很简单,merge。这个单词是合并的意思。这个操作的意思就是把一个分支上面的代码合并到其他的分支上面去,从而让别人知道你干了些什么,并且你也能共享到别人的代码。那到底应该怎么做呢?
打开你的github。
进入想要merge自己的改动的仓库首页。
点击merge图标
然后会进入一个确认界面,github会自动把你要合并的两个分支做比较,然后告诉你是不是可以smart merge,如果可以的话,就会有绿色的able to merge字样。
如果不可以的话,就会是红色的can’t automatically merge字样。
如过可以merge,就可以按 发起一个PR,然后就github可以自己merge了。
如果不可以merge,就停止现在在github上面的操作,回到Android Studio手动解决冲突(之所以不能够smart merge的原因就是你的代码和目标的那个分支的代码有冲突,冲突通常是因为你和你的小伙伴都对同一个文件做了修改造成的)。
从github上面pull代码下来
非常非常非常非常傻瓜的操作,戳一下 就OK了,然后就静静的等待他慢慢的pull下来,真的是慢慢的。。。
在本地解决冲突
先扔一张图出来。最下面的那个Git : lypeer 的意思是当前的本地分支是lypeer分支,每一次pull的时候默认是将所有分支的东西都pull过来的,可以看到当前我有三个分支,分别是origin/lypeer , origin/master , 和origin/yasic。选择origin/master分支,然后执行merge操作,由于两者之间是有冲突的,所以会弹出一些冲突的框框,解决掉它就好了。
解决了之后就可以再次向github上面push,然后create pull request,这个时候你会发现已经可以merge了,因为你已经把冲突在本地解决了。大功告成。
尾声
关于git其实还有很多非常好用的功能,比如说建立测试分支,这样就不怕老是把代码改的面目全非了,感觉不对马上舍弃。比如说版本回退,等等等等,如果各位有时间的话最好还是系统的学习一下。