• 采用合作开发者的方式进行协作开发,下面以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. 记一次 Sedona(GeoSpark) 空间计算优化

    项目需求需要空间计算能力,开始选型Sedona(GeoSpark)来完成, 需求需要每一条数据在满足某条件的情况下,去查找某张表进行空间匹配,找到离这个点(point)最近的一条道路(lineStri ...

  2. 【Android 逆向】ARM CPP 类对象

    #include <stdio.h> class aclass{ private: int m; char c; public: aclass(int i, char ch) { prin ...

  3. Django 简介和版本介绍

    一.简介 官方地址:https://www.djangoproject.com Django 是一个由Python 编写的具有完整架站能力的开源Web框架.使用 Django,只要很少的代码,开发人员 ...

  4. Python 类型提示简介

    Python 3.6+ 版本加入了对"类型提示"的支持. 这些"类型提示"是一种新的语法(在 Python 3.6 版本加入)用来声明一个变量的类型. 通过声明 ...

  5. PostgreSQL 选择数据库

    数据库的命令窗口 PostgreSQL 命令窗口中,我们可以命令提示符后面输入 SQL 语句: postgres=# 使用 \l 用于查看已经存在的数据库: postgres=# \l List of ...

  6. MySQL手动恢复数据库测试操作

    事件背景 MySQL数据库每日零点自动全备 某天上午9点,二狗子不小心drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢复 主要思想与原理 利用全备的sql文件中记 ...

  7. 【前端必会】使用indexedDB,降低环境搭建成本

    背景 学习前端新框架.新技术.如果需要做一些数据库的操作来增加demo的体验(CURD流程可以让演示的体验根据丝滑) 最开始的时候一个演示程序我们会调用后台,这样其实有一点弊端,就是增加了开发和维护成 ...

  8. VMware安装Win11+WSA子系统和使用教程

    VMware安装Win11+WSA子系统和使用教程 作者:Sna1lGo 时间:2022/9/29 下载相关文件: Win11镜像:Download Windows 11 (microsoft.com ...

  9. 深入理解AQS--jdk层面管程实现【管程详解的补充】

    什么是AQS 1.java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列.条件队列.独占获取.共享获取等,而这些行为的抽象就是基于AbstractQueu ...

  10. DateSet的应用

    一.知识描述 1.什么是DataSet? DataSet为一个数据集,可以看做是一个内存中的数据库,包括表.数据行.数据列以及表与表之间的关系. 创建一个DataSet后,它可以单独存在,不需要一直保 ...