github是我用过最舒服的管理项目代码的工具了。没有github账号的同学先github.com去注册个吧。
建立仓库的步骤就不多说了,主要讲讲平时怎么管理组织代码的。
首先应该有两个分支,一个作为正式的分支,即master。一个作为开发的分支,即dev:(假设仓库名为wenzai/project)
git clone https://[email protected]/wenzai/project cd project git checkout -b dev
然后去github.com先切换到该分支,然后点击setting,将该分支设置为默认分支。以后代码成熟后再慢慢合并到master分支中。
现在,先说下分支命名规则:先开头一个字母,f表示feature,b表示bug,r表示重构即review,然后是自己的名字(英文的),最后是功能简述。如:
f_wenzai_add_regist_model、r_wenzai_regist, b_wenzai_login
假设现在有个新功能注册分配给wenzai了,那么他应该执行下面几步:
git checkout dev && git pull origin dev (切换到dev分支并更新代码) git checkout -b f_wenzai_add_regist (新建分支)
之所以要新建分支,是因为这样做的话,就可以在github上对这次功能的开发新增的代码和提交历史都可以一清二楚,并且这样做也可以保证自己本地的dev分支不会被修改,从而每次pull都可以直接自动合并,而不会有冲突。
当该功能的代码开发完成并测试完成后,就可以提交代码了:
git push origin f_wenzai_add_regist
然后,可以去github.com上点击右边竖边栏的第三个图标即pull request,然后点击new pull request,就可以看到该次提交所有变动的代码(包括删除那些行、增加哪些行,有哪些提交),并且可以对任意一行代码添加评论了。
确认没问题后,就可以点击create pull request了,这样,这个项目的负责人就可以在他的github的project的页面上看到你的pull request,然后他会审查你写的代码,没问题后,他就可以点击merge request将该分支合并到dev分支上了。
当开发下一个功能时,注意要先切换到dev分支,然后再创建新的分支。这样,进行合并时,就会合并到dev分支上。
还有个实用的命令,就是:
git diff:查看没有git add 的文件增删了哪些行 git diff --cached:查看add后的文件增删了哪些行 git diff dev:查看已经commit了的提交增删了哪些行 git stash:将已经git add的文件先不要提交,而是压入git栈,这样切换到其他分支时就可以干净的切换了。要恢复的话可以运行git stash pop git log dev..:查看该分支的所有提交历史