“史上最全”git工作流之——fork

前言:在我们日常项目开发过程中,往往leader会根据功能模块不同,来进行“任务划分”。每个人开发过程中会与其他人有依赖关系,也就是协同开发。
下面我将模拟一个项目需求,来实例化一下开发流程
我们使用github作为仓库

一、项目需求

那就以最常用的注册、登录、找回密码为例。小红负责注册模块、小绿负责登录模块、小蓝负责找回密码模块。

二、工作流描述

我们已有一个中心仓库(master),小红小绿小蓝三人分别fork一份到自己“远程仓库”。然后分别clone(克隆)到本地,在自己pc中和自己远程仓库中进行开发和提交操作。


此例子Master地址:https://github.com/datura-lj/git-fork-demo

下面为Master原有的代码:
# git-fork-demo
描述:这是一个测试git fork工作流程的demo。
      有小红、小绿、小蓝三人共同开发
===============================================================
这里是系统上原有的代码
===============================================================
1. 小绿进行自己开发

首先,将中心仓库Master的代码,fork到小绿自己的远程仓库中。在浏览器地址栏输入地址:



至此fork完成,在上图可看出,此代码已经在小绿的远程仓库中(包括分支和提交记录等等)。

其次,我们将远程代码clone到本地,然后做一些修改,Push回远程仓库。

$ git clone git@github.com:Datura900607/git-fork-demo.git
$ git status
$ git add --all
$ git commit -m "开发了一个功能"
$ git push origin master

然后,更改代码,并成功提交到小绿远程仓库,小绿就可以发送一个合并到Master上的请求。(Pull request或merge request),然后管理员同意即可。

三、依赖他人代码

场景一:小红直接拉去Mater的代码

创建一个上游远程仓库,将Master代码拉取到小红的本地。

$ git remote add upstream  https://github.com/datura-lj/git-fork-demo.git
$ git pull upstream master
场景二:小红和小绿有依赖。但是小绿代码还没Pull request到Master。
方法一:

直接从小绿远程仓库拉取代码。

$ git pull  https://github.com/xiaolv/datura-lj/git-fork-demo.git master
方法二:

给小红添加小绿的远程仓库

$ git remote add xiaolv  https://github.com/xiaolv/datura-lj/git-fork-demo.git 
$ pull xiaolv master

其他

1.理解ssh和https方式

描述:在我们将远程仓库clone到本地时,可选择两种方式。其一是ssh(通过设置ssh),其二https(通过账号密码方式,此处注意本例是github的账号和密码)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,461评论 2 8
  • 如果你觉得这篇文章对你有帮助可随意转载,但请注明出处和作者。 我们在做报告,PPT,或者完成一些设计的时候总会插入...
    liliboy阅读 597评论 0 1
  • 心理上的癌比身体上 癌更可怕! 当年鲁迅在仙台选择学医,意在救治像他父亲那样被庸医所害的病人,改善被讥为“东亚病夫...
    一枚冰儿阅读 622评论 1 0
  • 趁篝火未熄, 趁夜色未消, 让我们再铸会儿剑吧。 那炉火掩映的炉膛, 是未熄的火苗的舞场。
    黄佳宁阅读 478评论 0 0
  • 一段感情可以持续多久? 爱情,一天?两天?一个月?两个月?不知道,不确定,在我的记忆力并不长久。 亲情,我承认那是...
    墨鱼z阅读 228评论 1 1