• 采用合作开发者的方式进行协作开发,下面以zlcook和zlserver合作开发iqas-ios-record项目为例进行讲解,zlcook为项目创建者,zlserver为项目参与者。协作开发步骤如下:

1.建立协作开发关系

1.项目创建者zlcook在github创建项目iqas-ios-record

 
Paste_Image.png

2.zlcook为项目iqas-ios-record添加合作开发者zlserver

  • 搜索zlserver,点击Copy invite link复制链接,将该链接发送给zlserver。(QQ或者微信whatever)

     
    Paste_Image.png

3.zlserver登录账号后,点击zlcook发过来的邀请链接,点击接收邀请

  •  
    Paste_Image.png

4.zlserver接收邀请后,zlserver也可以向该项目提交代码了。合作关系正式建立。

  •  
    Paste_Image.png

2.zlserver克隆项目并导入eclipse

  • zlserver在进行开发前需要先从github上clone下项目,然后在导入eclipse,在eclipse中进行开发。

1.zlserver在本地clone下项目

  •  
    clone地址
 
clone命令

2.将clone下来的iqas-ios-record导入eclipse

iqas-ios-record是maven结构所以导入选择maven项目

 
导入maven项目

3.导入eclipse后如果有错,则修改

 
Paste_Image.png
  • 错误原因:导入后默认采用jdk1.5编译,和jdk1.5依赖。1.右击项目属性->javaCompiler选择jdk1.7。2.右击项目属性-》Java Builder Path去掉jdk1.5依赖选择jdk1.7。
  1. iqas-ios-record是个web项目,右击-》run As下如果没有Run on server,则设置如下:

    右击项目属性->ProjectFactes:
  •  
    Paste_Image.png
 
Paste_Image.png

点击ok后,再次右击项目属性->选择Deployment Assembly

 
Paste_Image.png

3.zlserver进行开发

  • zlserver每 次开发新功能的步骤(以下步骤都是在git命令行中进行):

    在主分支master上新建分支featurexxx,切换到新分支featurexxx,在featurexxx分支上进行开发(在eclipse中开发)。开发完成,提交代码,切换回master分支,下拉(pull)远程分支到master分支上,master和featurexxx分支进行合并,合并出现冲突则修复,修复冲突完成后,再把修改的数据提交。合并没有冲突或冲突已被解决则push master分支到远程分支。删掉分支featurexxx。下次开发新功能从头开始。

  • 查看仓库状态命令git status

  • 实际操作:

  • 1.新建分支feature_zlserver,切换分支feature_zlserver

     
    新建分支feature_zlserver,切换到feature_zlserver分支
  • 2.在eclipse中修改代码

    在eclipse中修改了iqas-ios-record项目的pom.xml文件。现在要开始提交。

  • 3.添加修改,提交修改

     
    添加修改,提交修改
  • 4.切换回主分支,下拉(pull)远程分支到master分支上

     
    切换回主分支,下拉远程分支
  • 5.合并feature_zlserver分支

    这一步过后,master分支上的内容就包含了feature_zlserver分支上新增的内容了。

     
    合并feature_zlserver分支

    注:该步骤可能会产生冲突,如果产生冲突需要解决完冲突才能进行下一步

  • 6.提交master分支代码到远程分支

     
    提交master分支代码到远程分支
  • 7.删除feature_zlserver分支,从头开始。

    经过第6步,说明我们开发的新功能已经合并到master分支上了,并且和远程分支保持了一致。这时就删除掉feature_zlserver分支,下次在新建一个分支开发新的功能。新分支名称最好和要开发的功能相关。

     
    删除feature_zlserver分支

4.查看项目在远程服务器上部署成功与否

  • zlserver写完代码,并且提交到github上了,任务完成了,那么写的代码到底部署到实际生产环境中成功没有?就需要查看jenkins中关于iqas-ios-record项目的集成情况。
  • 这一步其实可以通过邮箱通知。但是没有给zlserver配置邮箱,所以只能自己到jenkins上查看提交代码的集成情况。
  • jenkins会自动查看github的上iqas-ios-record项目的源码状态,如果发现有更新就会下拉最新的代码进行部署。(但是也不会立即执行,所以需要手动让jenkins对最新的代码进行构建和部署)
  • jenkins在服务器上的访问地址:http://172.19.201.155:8093/

    访问密码:问我
  • 手动点击项目进行构建 (注:这一步需要让jenkins所在服务器链接网络,即老师申请的服务器用一个人账号登陆校园网,让其可以从github上下载代码
     
    Paste_Image.png
  • 构建执行状态
 
Paste_Image.png
  • 构建失败

    红色指示灯表示构建失败,失败原因主要:没有网络、代码出错。

     
    Paste_Image.png
  • 查看构建失败或成功结果

     
    Paste_Image.png
  • 构建成功

    蓝色指示灯表示构建成功

     
    Paste_Image.png

5. 访问

经过第4步保证了咱们的修改的代码被成功部署了,下面就 通过浏览器来查看效果。

 
Paste_Image.png

作者:zlcook
链接:https://www.jianshu.com/p/85cb197cb125
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Git+Github协作开发流程的更多相关文章

  1. github协作开发遇到的问题

    1.十一来了,帝都不好买票,30号就调休一天回去了,项目还没搞完,紧张的不行,就自己和同事搞了一个github协作开发,由于是功能和公司项目不是很沾边,但是是自己的主要工作,就和同事协调了一下,搭建了 ...

  2. Gitblit搭建及Git协作开发流程

    1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...

  3. 如何让Git适应敏捷开发流程?

    一旦涉及到版本控制系统,Git实际上代表敏捷开发的水平.Git作为一款强大的开源系统,有较强的灵活性,可以按需匹配任何开发团队的工作流程.而这种分布式相比较集中式来说,可以赋予系统更好的性能特征,且允 ...

  4. git 一般的开发流程中的代码管理

    一般的开发流程中的代码管理 1. 从版本库中下载代码 git clone ssh://wenbin@192.168.1.3:29418/mustang-web 2. 针对某个feature(比如ins ...

  5. 前端项目git操作命名规范和协作开发流程

    前言 一个项目的分支,一般包括主干 master 和 开发分支 dev,以及若干临时分支 分支命名规范 分支: 命名: 说明: 主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分 ...

  6. 利用github协作开发步骤

    项目使用IDEA开发,IDEA上可以加载很多的插件(而且下载很快),安装github插件,安装git 首先一个成员需要创建好代码库,这个代码库存放项目,所有的开发提交代码都是向这个库提交,在githu ...

  7. Git 团队协作开发

    步骤一:进入别人github中的项目 步骤二: 步骤三: 修改 one.txt 或者 新增 文件 都可以 步骤四: 在提交时,要习惯 使用 git pull 命令,防止有人在你写代码时候,提交过一些东 ...

  8. UI_RD协作开发流程

    1. 背景 由于android端需要进行多屏幕适配,这就给UI&RD之间的沟通产生了一些困难.我下面将会对这两种角色的沟通,说明了一下我们项目中沟通的方式和规则. 原则:客户端跟UI约定了各种 ...

  9. 怎样通过git协作开发

    近期iOS群里的一些小伙伴刚刚毕业,刚參加工作的小伙伴们,对于怎样进行git下的一个写作开发抱有较大的疑惑.今天小汤我就给大家分享个git下协作开发的小技巧. 怎样通过git协作开发? 当两个开发人员 ...

  10. HelloX项目github协同开发指南

    概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...

随机推荐

  1. 第六十五篇:Vue的过滤器

    好家伙, 过滤器,vue3取消了,只有vue2能用 1.过滤器 过滤器(Filters)是vue为开发者提供的功能,常用于文本的格式化. 过滤器可以用在两个地方:插值表达式和v-bind属性绑定. 过 ...

  2. wsl创建证书让chrome浏览器识别

    我在wsl里面测试http2协议的时候,在wsl用openssl创建了证书, 然后我把证书放在windows证书管理后,用chrome打开发现提示这个: 虽然可以点击下面的强制 访问 但是chrome ...

  3. KingbaseES 两表关联Update的两种写法与性能

    熟悉oracle 的人都知道,对于两表的关联更新,其执行计划主要有 Filter 和 Outer Join 两种方式.对于大批量数据的update,Join方式明显是更优的选择.KingbaseES ...

  4. B树-查找

    B树系列文章 1. B树-介绍 2. B树-查找 3. B树-插入 4. B树-删除 查找 假设有一棵3阶B树,如下图所示. 下面说明在该B树中查找52的过程 首先,从根结点出发,根结点有两个键40和 ...

  5. Hadoop阶段学习总结

    第一部分:HDFS相关问题 一.描述一下HDFS的数据写入流程 ​ 首先由客户端想NameNode服务发起写数据请求,NameNode接收到请求后会进行基本验证,验证内容包括对请求上传的路径进行合法验 ...

  6. int和String的相互转化

    int和String的相互转化 将int转化为String 通过valueof( )方法进行转化 int a=100;String num1=String.valueOf(a);        Sys ...

  7. Containerd 知识点

    1.查看安装Containerd的版本 # ctr --version ctr github.com/containerd/containerd v1.6.6 # ctr version Client ...

  8. Elasticsearch官方文档离线访问实操指南

    文章转载自:https://mp.weixin.qq.com/s/Cn9ddkj-cne5pKtfOgNPbg 延申一下,不仅能下载Elasticsearch官方文档,还能下载其他软件的官方文档,详看 ...

  9. 【前端必会】NVM,管理你的node版本

    介绍 用nvm管理node,可以随时修改node版本 使用 下载nvm https://github.com/coreybutler/nvm-windows/releases/tag/1.1.9 安装 ...

  10. 如何0到1构建DevOps?

    从0到1构建DevOps,首先得弄清楚这个DevOps的受众群体,它的用途到底是什么,解决什么问题,比如Android Studio是为了解决Android应用的开发,3UCS xPlus是为了解决应 ...