如何使用github来开发和管理一个团队的项目

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..:查看该分支的所有提交历史
时间: 2024-10-16 16:54:26

如何使用github来开发和管理一个团队的项目的相关文章

使用Git与GitHub协同开发并搭建私有GitLab代码托管服务器

目录 [TOC] Git的发展史 Linus在1991年创建了开源的Linux,从此全世界的工程师参与了Linux的开发,期初Linus是通过手动diff的方式进行代码审核和合并的,后来BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统.安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气.开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMo

使用git submodule管理一个需要多个分立开发或者第三方repo的项目

在项目开发中,特别是web前端开发中,有非常多的开源第三方library,我们希望引用他们,同时也希望能够方便地保持这些第三方 开源repo的更新.另外一方面如果我们自己在开发一个网站的项目,这个项目一般分为前端和后端两个相对独立的子项目,特别是前端的repo可能在不同的项目中共享,那么这时,你就可能希望将项目分开为前端和后端两个repo,如何管理这种情况呢?一个比较好的方案就是使用git的submodule功能. 假设我们的父repo在prepo目录,sumodule newtestrepo希

HelloX项目github协同开发指南

概述 为了提高协同开发效率,HelloX项目已托管到github站点上. 依据眼下的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-project/HelloX_Kernel.git HelloX操作系统GUI模块项目:https://github.com/hellox-project/HelloX_GUI.git 面向STM32的移植版:https://github.com/hellox-project/HelloX_STM3

【转载】visual studio使用github进行代码的管理

前言 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等一系列工具进行Copy,然后回家才能继续在原来的基础上作业.Copy来Copy去的麻烦不说,很容易出错,导致好不容易写的一点代码就找不到了.而且就目前来看,Git应该说是源代码管理工具中最NB.应用最广泛的了,很多开源的项目目前都转意到了GitHub上面来了.经常看到园子里的兄弟也来学习Git,对于一个菜鸟感觉再不拥抱Git就又要被甩尾了. 我是在Win7

简介GitHub的使用方法--管理个人代码

git是一个分布式版本控制系统,最初由linus torvalds编写,用作Linux内核代码的管理.在推出又被广泛用于开源项目的代码控制,其功能类似我们常用的svn,只不过他的服务是在互联网平台上,我们可以将我们的代码上传至互联网且可随时更新. 作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法. 接下来简单介绍下如何在github平台上建立自己的代码库,并且利用tortoise

如何在eclipse中开发多个聚合关系的maven项目并用git管理

最近在开发项目时用到maven,多个maven项目之间是有一定联系的,所以分开创建,再用maven聚合管理. 项目使用git来管理代码,因为上传代码时设置.gitignore文件中不上传.setting等文件,所以在git中下载下来之后的maven项目不是一个elipse项目文件,这样如果在github中拉下代码之后,再导入时不是很方便,所以这里使用maven的插件,把各个项目变成Eclipse项目. 项目的结构如下: 其中encryption是多个maven项目中的其中一个,这些项目都依赖Ut

国内及Github优秀开发人员列表

自从入了Android软件开发的行道,解决问题和学习过程中免不了会参考别人的思路,浏览博文和门户网站成了最大的入口.下面这些列表取名为:国内及Github优秀开发人员列表,就是浏览后的成果. 虽然下述列表出自Android软件开发,文章定为不断更新并涉及更多领域. 谓之优秀,唯坚持也. 1. _区长 专注Android开发,专栏有:Android React Native/Android中的设计模式/Android开发最佳实践/Android ORM/Android插件化开发 https://g

现在可以把小程序交给第三方开发或管理了

刚刚,小程序又放出了一波新能力,第三方平台支持小程序.小程序新增数据分析接口和小程序代码包大小限制扩大为2M三项新能力上线. 一.第三方平台支持小程序 开发管理更省心现在,不用交出帐号密码,也能把小程序交给第三方开发或管理了.如果你是不懂开发或者没有精力开发和管理的企业,现在可以把小程序授权给第三方平台,他们可以帮你进行小程序的代码开发与管理.客服服务等.托管方式很简单:小程序管理员在支持小程序的第三方平台上,扫码同意即可授权.授权的具体能力:配置服务器地址,代码开发.上传提交与发布,模版消息与

软件开发进度管理

一.什么是软件项目管理 软件项目管理是按需求确定范围.按目标制定项目计划.按计划执行管理的过 程.对软件开发各阶段加强项目管理的根本目的在于增强对软件开发的控 制能力,提升软件开发的质量.软件项目的建设按软件工程的生命周期法可分为项目立项.启动.需求分析.系统设计.系统开发.系统测试.系统上线.项目验收 和上线后评估等9个阶段进行. 加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围.项目进度.项目质量.项目沟通.人力资源.项目成本六大核心要素