工作中使用图形化工具工具smartgit+git进行代码管理,使用场景及过程如下:
前提:teamleader会先在github端建立一个team branch,team branch上有整个组的全部代码。下图是图形化工具smartgit的使用界面。
1.第一个使用场景就是一个新的小组成员要开始干活了,要拿到team branch的代码到本地,怎么拿。具体过程:
(1)用smartgit在branches面板中的local branches中右键add branch新建一个local branch,比如上图中叫hud-local
(2)切换到远程库的team branch,即origin目录下的team,点击窗口最左上角的pull,把team branch上的最新代码拉到本地,pull成功后,本地分支local branches中将出现一个team的分支,就说明将远程分支pull到本地了。
(3)在电脑上github对应的文件夹中将出现team branch的最新代码,用android studio将代码打开就可以进行程序编写了。
注意的是,如果连team branch在远程列表中都没有的话,最早的一步应该是选菜单repository点击clone。
在我的开发过程中,是利用xcode+android studio+idk+uni的方式,所有用到的底层c++代码在xcode中编写,然后用ndk编译成.so,在android studio中调用。
idk的使用方法:在android studio终端中,把文件目录索引到jni目录,然后调用ndk-build clean ndk-build -C .对c++源码进行编译。编译成功了直接run android studio即可跑app。
2.第二个使用场景就是把自己的本地分支的更改提交
当编写代码到一个小的节点时,为了防止代码丢失,一天的结束最好把所有代码commit,点击窗口上方commit工具栏那妞即可。
3.第三个使用场景是及时更新team branch上的最新代码到本地。具体方法如下:
把local branches下的当前分支切换成team branch,然后pull,pull最新代码,pull成功以后,再将当前分支切换成工作分支即本地分支hud-branch,此时右键merge,出现一个选择窗口,选择merge to worktree。此时,本地分支代码和team branch 代码有冲突,会提示merge failed,然后需要手动解决冲突,解决方式右键冲突文件,选择recover。解决完后打开Xcode或android studio,跑一下程序看是否能跑通,如果能跑通就将有冲突代码commit。此时会提示merge已成功。
pull-merge-commit-push这个过程每天都要进行,每天检索下team branch最新代码,保持本地代码和team branch的一致性。
4.第三个使用场景就是把自己的本地分支合并到远程的team branch 并@组长进行代码审查
分两步:
第一步就是commit 和push本地所有的代码更改,commit之前还是要先检索下team branch上有没有最新代码。
第二步就是打开网页版的github(https://github.com/),点击组长的rinpoche,会出现如下界面。
点击new pull request,会出现如下界面,base是target branch,这里就是team branch,compare是source branch,这里就是hud-local branch,然后下面又一个文本框,写标题,比如叫custom album,然后在开始写上@组长github账户名。最后点击create pull request。在成功页面检查信息是否正确,是否分支合并正确。
整个过程完毕。
几点注意:
(1)一定要确保是在本地分支上进行修改,即注意一定要切换到本地工作分支上在进行代码编写,这里是hud-branch。
(2)将本地分支更改合并到team branch的时候,一定要注意将本地分支更改先commit再push,切记不能忘了push。
(3)本地my branch(hud-local)-push->远程my branch(hud-local)-merge->远程team branch