• 采用合作开发者的方式进行协作开发,下面以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. KingbaseFlySync 版本升级

    关键字: KingbaseFlySync.Linux.x86_64.mips64el.aarch64.Java 拓扑图: 客户现场源端和目标端写在一个flysync.ini中,所以不单独把目标端拿出来 ...

  2. 《!--suppress ALL --> 在Android XML 文件中的用途是什么?

    <!--suppress ALL --> 在Android XML 文件中的用途是什么? 警告一次又一次地出现在谷歌地图的 XML 文件中,但是当我使用时,所有警告都被禁用.那么压制所有评 ...

  3. 华南理工大学 Python第6章课后测验-1

    1.(单选)以下关于语句 a = [1,2,3,(4,5)]的说法中,正确的个数有( )个.(1)a是元组类型   (2)a是列表类型  (3)a有5个元素      (4)a有4个元素(5)a[2] ...

  4. 【java8新特性】02:常见的函数式接口

    Jdk8提供的函数式接口都在java.util.function包下,Jdk8的函数式类型的接口都有@FunctionInterface注解所标注,但实际上即使没有该注解标注的有且只有一个抽象方法的接 ...

  5. SpringBoot Xml转Json对象

    一.导入需要的依赖 <dependency> <groupId>maven</groupId> <artifactId>dom4j</artifa ...

  6. 【学习笔记】卷积神经网络 (CNN )

    前言 对于卷积神经网络(cnn)这一章不打算做数学方面深入了解,所以只是大致熟悉了一下原理和流程,了解了一些基本概念,所以只是做出了一些总结性的笔记. 感谢B站的视频 https://www.bili ...

  7. Kubernetes 调度 - 污点和容忍度详解

    当我们使用节点亲和力(Pod 的一个属性)时,它会将Pod吸引到一组节点(作为偏好或硬性要求).污点的行为完全相反,它们允许一个节点排斥一组 Pod. 在 Kubernetes 中,您可以标记(污染) ...

  8. PAT (Basic Level) Practice 1018 锤子剪刀布 分数 20

    大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入 ...

  9. POJ2686 Traveling by Stagecoach (状压DP)

    将车票的使用情况用二进制表示状态,对其进行转移即可. 但是我一开始写的代码是错误的(注释部分),看似思路是正确的,但是暗藏很大的问题. 枚举S,我们要求解的是dp[S][v],这个是从u转移过来的,不 ...

  10. ClickHouse(07)ClickHouse数据库引擎解析

    目录 Atomic 建表语句 特性 Table UUID RENAME TABLES DROP/DETACH TABLES EXCHANGE TABLES ReplicatedMergeTree in ...