How to co-work wither parter via github.

Github协同开发情景模拟

Github不仅有很多开源的项目可以参考,同样也是协同开发的最佳工具,接下来的就模拟一下协同开发的过程。

项目发起者:koffuxu
项目贡献者之一:xugangfeng

1,koffuxu发起了一个项目,然后发布到github上,邀请xugangfeng来协同开发

1.1 在github上 New Repository

1.2 在koffuxu的服务器clone下这个repository,然后把自己的初步内容添加到这个仓库

git clone https://github.com/koffuxu/Embedded_Android_in_Chinese.git

1.3 把自己的基础项目push到github

git push -u origin master

2,xugangfeng接到邀请,开发协同开发这个项目,首先先建好开发目录

2.1 进入koffuxu的github项目地址(https://github.com/koffuxu/Embedded_Android_in_Chinese.git),先fork这个项目到自己(xugangfeng)的项目中

2.2 把fork过来的项目clone到xugangfeng的本地

git clone https://github.com/xugangfeng/Embedded_Android_in_Chinese.git

2.3 新建并切换到工作(dev)分支

git brach dev
git checkout dev 

2.4 把koffuxu的项目添加xugangfeng的远程仓库

git remote add upstream https://github.com/koffuxu/Embedded_Android_in_Chinese

2.5 把koffuxu的分支拿下来

git remote update

2.6 把koffuxu的maser分支更新到本地

2.7 合并koffuxu的分支到本地(其实第一次可以不需要)

git rebase upstream/master
 

3,xugangfeng实现了一个功能,现在他要开始提交这个commit了。

3.1 当然这个是正常代码的提交,大概流程如下

git add test.md
git commit -m "modify from xugangfeng"
git push -u origin dev 

3.2 这时候,xugangfeng进入github网页,进入compare & pull request,填写一些信息,crete pull request即可。

4,koffuxu接下来把xugangfeng的提交合并到master分支

4.1 进入github koffux的项目中,可以看到有一个pull request的提示,然后comfirm merge即可

4.2 接下来进入koffuxu的本地,执行Git pull查看是否已经更新了。

5,还有一个场景,就是koffuxu有更新了,xugangfeng需要更新合并

5.1 koffuxu又在c4.md新增了一条

5.2 贡献者xugangfeng,就需要在原来的基本上更新合并了。

git remote update upstream

5.3 xugangfeng开始要合并更新

git rebase upstream/master

5.4 git log查看,已经合并过来了

整个过程比较啰嗦,慢慢看吧。有疑问可以提出来。

怎样在github上协同开发的更多相关文章

  1. 使用git和github进行协同开发流程

    (本文假设各位已经对基本git的基本概念.操作有一定的理解,如无相关git知识,可以参考Pro Git这本书进行相关的学习和练习) 很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管 ...

  2. Github之协同开发

    一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来.所以, ...

  3. Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

    远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...

  4. 教程:安装禅道zentao项目管理软件github上的开发版

    该文章转自:吕滔博客 直接从github拉下来的禅道的源码,是跑不起来的.除非你按我的教程来做...哈哈哈(不要脸)~~~~ 禅道官网提供的版本包是带了有安装文件,并有打包合成一些css.js文件的. ...

  5. github在不同电脑上协同开发

    当我换了电脑后,开发自己的github项目遇到了一些问题. 首先,git clone 'repository url'拉取下来项目,开始开发项目发.修改了一些文件后,当要git commit, git ...

  6. github上最全的资源教程-前端涉及的所有知识体系

    前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...

  7. github上最全的资源教程-前端涉及的所有知识体系【转】

    github上最全的资源教程-前端涉及的所有知识体系[转自:蓝猫的博客] 综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.h ...

  8. Git之协同开发

    Github之协同开发 一.协同开发 1.引子:假如三个人共同开发同一份代码,每个人都各自安排了任务,当每个人都完成了一半的时候,提交不提交呢? 要提交,提交到dev吗,都上传了一半,这样回家拿出来的 ...

  9. Pull Request的过程、基于git做的协同开发、git常见的一些命令、git实现代码的review、git实现版本的管理、gitlab、GitHub上为开源项目贡献代码

    前言: Pull Request的流程 1.fork 首先是找到自己想要pull request的项目, 然后点击fork按钮,此时就会在你的仓库中多出来一个仓库,格式是:自己的账户名/想要pull ...

随机推荐

  1. Service具体解释(一):什么是Service

    < Service具体解释(一):什么是Service> < Service具体解释(二):Service生命周期> <Service具体解释(三):Service的使用 ...

  2. 关于从 coding 拉项目的操作

    介绍:coding是托管代码的仓库   sourceTree 是把代码提交到coding的界面化工具 1.通过百度 登录coding账号

  3. 用JAVA编写浏览器内核之实现javascript的document对象与内置方法

    原创文章.转载请注明. 阅读本文之前,您须要对浏览器怎样载入javascript有一定了解. 当然,对java与javascript本身也须要了解. 本文首先介绍浏览器载入并执行javascript的 ...

  4. 持续集成-jenkins 环境搭建

    转自:http://blog.jxdev.me/blog/2015/03/26/jian-xin-de-chi-xu-ji-cheng-zhi-lu-%5B%3F%5D-da-jian-jenkins ...

  5. sanic官方文档解析之logging和request Data

    1,sanic的logging: Sanic允许有做不同类型的日志(通过的日志,错误的日志),在基于Python3的日志API接口请求,你必须具备基本的Python3的日志知识,在你如果想创建一个新的 ...

  6. liberOJ#6006. 「网络流 24 题」试题库 网络流, 输出方案

    #6006. 「网络流 24 题」试题库     题目描述 假设一个试题库中有 n nn 道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性.现要从题库中抽取 m mm 道题组成试卷.并要求 ...

  7. XML复习笔记(复习资料为菜鸟教程里的XML教程)

    XML 指可扩展标记语言(eXtensible Markup Language) XML 的设计宗旨是传输数据,而不是显示数据. XML 标签没有被预定义.您需要自行定义标签. XML 被设计为具有自 ...

  8. 小程序登录方式切换 不做url跳转

    var filegUP = require('../../utils/getUserPassword.js'); var filemd5 = require('../../utils/md5.min. ...

  9. pyenv 安装本地版本

    最近在用pyenv安装python的时候发现官网特别慢,经常出现拒绝访问的情况.看了一些解决方法,发现可以使用本地的python源码进行安装,让pyenv从本地下载就可以了~步骤如下: 首先从官网下载 ...

  10. extjs 4 checkboxgroup Panel的简单用法

    Ext.require([ 'Ext.tree.*', 'Ext.data.*', 'Ext.window.MessageBox', 'Ext.tip.*' ]); Ext.onReady(funct ...