原来在github上断断续续给许多项目提交过pr(pull requests),比较有成就感的是参与的datax-web项目,目前已近1.8k star。现将开源项目贡献代码流程成文,方便后续更多的同学参与到开源社区。

一.整体流程如下图

二.详细步骤

1.fork

  • 作用:在GitHub(或gitlab,gitee)上,将别人项目引出一个新的分支到你的GitHub账号(fork字面意思“叉子”)
  • 操作:github项目右上角点击fork,如下图(因为我已经fork过,所以没有fork到waterWang的选项);

  • 效果:自己的github上有了别人项目,可以看到项目从哪里fork过来的;

2.clone

  • 作用:将fork到自己github账户的项目,从github克隆到自己机器,以便开发修改代码;
  • 操作:git命令行或可视化git工具都可以(我习惯git命令行)。克隆如下图有三种方式,a地址克隆(又分https,SSH,GitHub CLI),b GitHub Desktop,c下载zip包
>git clone url-xxx # 输入命令后安静的等待进度达到100%

  • 效果:本地文件夹中出现datax-web项目

3.checkout

  • 作用:clone的下来默认的是master分支,但是开发尽量避免在master上—要开发,先切糕(checkout)
  • 操作:命令行
 >git checkout -b newBranchName # 默认以当前本地分支为基准,创建并切换到新分支。#也可以以远程分支为基准,创建并切换到新分支 ,如下命令 git chekcout -b origin/master newBranchName  #origin/master 是远程地址别名为origin上的master分支;
  • 效果:创建出了一个新分支,并切换当前分支到新分支

4.add/commit

  • 作用:上步骤切出新分支后,可以书写自己代码,本地测试通过,可以进行代码的提交
  • 操作:git命令行
>git add .  # git add 还有很多用法,本文不再赘述
>git commit -m 'sth msg' # git commit 还有很多用法,已经msg的规范,本文不赘述
  • 效果:代码已经全部存在本地仓库(git status后提示nothing to commit, working tree clean)

5.push

  • 作用:从本地仓库将分支推到远程自己GitHub上。
  • 操作:git命令行
>git push origin branchName

  • 效果:GitHub上对应项目上多看一个分支;

6.pull request

  • 作用:将上步骤的远程分支请求合并到原作者的项目上(真正意义上为开源项目提交代码)
  • 操作:GitHub页面。在原作者的项目页面点击pull request–》new pull request,(也可以直接点击compare and pull request)


注意选择从哪里合并到哪里(注意箭头方向),GitHub会检测代码是否可以合并,如果可以就会出现Able to merge,反之需要先解决代码冲突。

  • 效果:“pull request”合并请求已经发生,安静的等待原作者处理该请求。

开源项目贡献代码流程相关推荐

  1. 给开源项目贡献代码的经历

    工作好几年了还没有成为一名开源贡献者,实属失败,最近进行了人生中的第一次给开源项目贡献代码,记录一下.温馨提示:文章较长,不想听我啰嗦的,直接看最后总结. 背景 作为一个 技术开发者 怎么能没有属于自 ...

  2. 给开源项目贡献代码_您可以为开源做出6种非代码贡献

    给开源项目贡献代码 贡献开源! 履历表看起来很棒! 这是可喜的工作! 在您的整个职业生涯中,您可能听说过很多人做出过这些陈述或类似的陈述. 他们没有错-为开源做贡献是一个多方面的有益工作-但是,当软件 ...

  3. 【手把手指导】给开源项目贡献代码

    很多新人学习了技术,但是没有地方施展. 问题不大,找几个开源项目来参加就可以了,需要开源项目磨练的可以联系学委. 本文重点讲解如何快速的给开源项目贡献代码. 首先你必要要有一个GitHub账号(或者G ...

  4. 如何给开源项目贡献代码

    和我比较熟的朋友知道我前几天给prometheus贡献了代码,这是第一次给一个比较大的开源项目贡献代码,后来一了解发现,我滴妈,好多人都不会发起PR请求来合并代码,这次我就好好写写,给大家一个参考. ...

  5. 微软nni_实践空间站 | 为微软官方开源项目贡献代码,你准备好了吗?

    亟需一个契机重新驱动你在冬日沉睡的大脑? 2020 年春季学期微软学生俱乐部实践空间站项目正等待你大展身手! 实践空间站是微软学生俱乐部打造的全学年持续性活动,通过项目导师指导与自主创新结合的方式,帮 ...

  6. 第一次给知名项目贡献代码,有点紧张

    大家好,我是鱼皮的小老弟阿巴,大家也可以叫我小阿巴. 我也对编程非常感兴趣,但还是小白一枚.这几天放假来哥哥家玩,本来想着鱼皮哥哥学计算机.设备多,会带我打打游戏什么的.结果没想到刚到他家,就问我编程 ...

  7. python开源项目贡献_65%的公司在为开源项目做贡献

    python开源项目贡献 今年是第十届年度开放源代码未来调查,该调查由Black Duck和North Bridge主办,旨在研究开放源代码的趋势. 今年调查的主要成果围绕着当今对开放源代码的主流接受 ...

  8. python开源项目贡献_为开源项目做出第一笔贡献

    python开源项目贡献 一个常见的误解是,为开源做出贡献是困难的. 您可能会想:"有时候我什至不了解自己的代码:我应该如何理解别人的代码?" 放松. 直到去年,我还是这么想. 阅 ...

  9. 如何有效地学习开源项目的代码?

    对于计算机专业的同学来说,网络上丰富的开源代码是一笔极为宝贵的财富.通过对开源代码的学习与钻研,大家能从中学到很多书本上.课堂上学习不到的实践知识.如何学习开源代码以及如何学好开源代码成为了大家经常关 ...

最新文章

  1. php上传图片到文件夹,2018.09.14PHP获取页面上传的图片存到指定文件夹再存到数据库中...
  2. ELK安装文档及相关优化
  3. 苏州的高铁旅游的基本调查
  4. 【NLP】NLP爱好者学习资源推荐汇总
  5. LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料
  6. Flink SQL Client中的Chained (Event) Time Windows
  7. Redis 核心技术与实战
  8. ashly理器4.8软件汉化版_工程造价专业 常用广联达CAD等软件 推荐什么笔记本电脑?...
  9. 三菱PLC与上位机进行通讯
  10. mui用ajax服务器交互,Mui --- app与服务器之间的交互原理、mui ajax使用
  11. 【解决方案】Ubuntu18.04 安装L2TP及相关设置
  12. 什么是不简单?把每一件简单的事做好就是不简单;什么是不平凡?能把每一件平凡的事做好就是不平凡。
  13. GNU Make构建工具使用教程
  14. android 网络文件系统,android在手机上的文件系统框架的阐述
  15. yum源修改为本地光盘镜像
  16. php货币2019年12月31日汇率,2020年12月31日中国银行外汇汇率是多少,人民币汇率一览...
  17. iOS 开发中的日期格式
  18. 【建模算法】基于遗传算法求解TSP问题(matlab求解)
  19. 四种常用聚类及代码(三):birch(一种层次聚类)
  20. python脚本无缝拼接图片

热门文章

  1. Py之py2neo:py2neo的简介、安装、使用方法之详细攻略
  2. 慕容小匹夫 Unity3D移动平台动态读取外部文件全解析
  3. git 的使用以及如何解决git冲突问题
  4. 计算机英文版个人简历发文,计算机个人英文简历.doc
  5. 江苏省高校微课比赛参赛经验总结
  6. 不同电脑之间共享键鼠:sharemouse
  7. immutable.js中文文档
  8. 翻越 Mybatis-Plus 的山坡
  9. Mysql:数据库引擎
  10. 电脑录音软件哪个好用?如何录制声音?